您的位置:首页 > 其它

关于利用sizeof计算extern之后的全局变量的大小

2016-09-30 10:41 316 查看
http://blog.csdn.net/chenmeimei_8899/article/details/5640359

今天用sizeof计算一个extern之后的数字的大小,发现总是0,在编译的时候也已经给报错了,但是就是不知道为什么,最后才恍然大悟。

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

extern int a[];

sizeof(a);

首先编译器会给你警告,在运行期间去看sizeof(a)的值总是是0;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: