#include <stdio.h>
int a[100];
int main(){
printf("%d",a[5]);
return 0;
}
上面的代码总是打印“0”还是编译器特定的?我正在使用 gcc 编译器,输出为“0”。
是的,所有成员a
保证初始化为0。
来自 C89 标准第 3.5.7 节
如果具有静态存储持续时间的对象未初始化
显式地,它是隐式初始化的,就好像每个成员都有
算术类型被分配为 0 并且每个具有指针类型的成员
被分配了一个空指针常量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)