C随笔9 声明编译规则

调试发现 extern 声明的数组可以和定义的数组长度不一致。

而且其他文件的根据声明的长度去引用,是按照地址偏移去找的。

例如数组 定义  U8 A[2][10000]

声明 U8 A[2][100]

此时会造成的其他文件方位的数组成员 A[1][0] 实际上访问的是A[0][100],导致问题的发生。

所以检查地址是否一致是调查问题的利器

posted @ 2023-08-11 16:25  无头之蝇  阅读(16)  评论(0)    收藏  举报