您的位置:首页 > 其它

为什么sizeof取不到extern的数组大小

2013-09-08 20:53 666 查看
今天用sizeof计算一个extern之后的数组的大小,发现总是0,在编译的时候也已经给报错了,但是就是不知道为什么,最后才恍然大悟。

首先sizeof其实在编译期间已经觉得了其计算的大小,extern之后的数组在编译器期间其实只是一个符号而已,不代表任何意义,只有在连接的时候知道了它的地址才会和正在数组的定义的地方连接起来,所以在vc上做如下的操作

externint a[];

sizeof(a);

首先编译器会给你警告,在运行期间去看sizeof(a)的值总是是0;

有一本书叫做《你必须知道的495个C语言问题》有空看一看!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: