首页 > 编程 > C > 正文

C语言安全编码数组记法的一致性

2020-02-24 14:29:51
字体:
来源:转载
供稿:网友

C语言中,数组必须是静态的,也就是说数组的大小必须在程序运行之前确定,由于C语言不具备Java等语言静态分析工具的功能,所以可以严格检查数组下标的范围,今天武林技术频道小编就为大家介绍C语言安全编码数组记法的一致性,一起来看看吧!

示例代码如下:

//main.c#include<stdlib.h>enum {ARRAYSIZE = 100};char *a;void insert_a(void);int main(void) {  a = (char*)malloc(ARRAYSIZE);  if(a == NULL) {    //处理分配错误  }  insert_a();  return 0;}//insert_a.cchar a[];void insert_a(void) {  a[0] = 'a';}

解决方案如下:

//insert_a.henum {ARRAYSIZE = 100};extern char *a;void insert_a(void);//insert_a.c#include "insert_a.h"char *a;void insert_a(void) {  a[0] = 'a';}//main.c#include<stdlib.h>#include"insert_a.h"int main(void){  a = (char*)malloc(ARRAYSIZE);  if(a == NULL) {    //处理分配错误  }  insert_a();  return 0;}

 以上就是武林技术频道小编介绍的关于C语言安全编码数组记法的一致性,大家都还满意吗?如果你还想了解更多技术方面的知识,请随时关注武林技术频道!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选