这段代码初始化所有在所述阵列的元件的所有主要的C和C++编译器或不?
int arr[100] = {0};
Run Code Online (Sandbox Code Playgroud)
在所有编译器中.这由C标准和C++标准保证.
例如,对于C,这里是相关段落:
(C99,6.7.8p21)"如果括号括起的列表中的初始值设定项少于聚合的元素或成员,或者用于初始化已知大小的数组的字符串文字中的字符数少于其中的元素.对于数组,聚合的其余部分应与具有静态存储持续时间的对象隐式初始化."
和
(C99,6.7.8p10)"如果没有显式初始化具有自动存储持续时间的对象,则其值是不确定的.如果没有显式初始化具有静态存储持续时间的对象,则:[...]如果它具有算术类型,它被初始化为(正或无符号)零; [...]"
归档时间: |
|
查看次数: |
239 次 |
最近记录: |