数组申明的个数和数组定义的个数不一样会出现什么情况?

2020-01-17 19:07发布

比如
c文件这样定义
unsigned char buf_dispatch[81];
h文件这样申明
extern unsigned char buf_dispatch[80];

在主函数调用的是h文件
实际测试没有发现什么问题,编译也通过了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
祥子
1楼-- · 2020-01-17 20:47
 精彩回答 2  元偷偷看……
laujc
2楼-- · 2020-01-18 00:15
如果使用到,应该会报警告或错误.没有用到的话,可能编译器没有提示.
zaldy30
3楼-- · 2020-01-18 05:40
经常看到申明写成
extern unsigned char buf_dispatch[];


hhxb
4楼-- · 2020-01-18 06:09
C语言不检查数组越界的问题;用max[-1]的才叫艺高人胆大
takashiki
5楼-- · 2020-01-18 10:25
hhxb 发表于 2016-5-25 13:51
C语言不检查数组越界的问题;用max[-1]的才叫艺高人胆大

为什么我用Keil C51它检查越界,显示error,说变量重复定义。

“用max[-1]的才叫艺高人胆大”,用-1[max]的才是天外飞仙,不信你用用,一般不会报错,效果是一样的。
i_kkyu
6楼-- · 2020-01-18 13:17
 精彩回答 2  元偷偷看……

一周热门 更多>