设置数组的某些字段,将其他字段设置为零?

时间:2012-06-17 09:37:48

标签: c++ arrays memory

int main()
{
    int b[2][3]={{1,2},{3,4,5}};
    cout << b[0][2] << endl;
}

视觉和g ++的结果都是0!为什么?我以为它一定是另一个号码! 例如,当我们定义int a[5]然后我们说cout << a[3];而不设置a[3]时,它就像是,0123984283,这意味着RAM中此单元格的最后一个值。

但在这里,0的原因是什么?

2 个答案:

答案 0 :(得分:5)

如果部分初始化,则保证其余元素为0。

对于Standerdese粉丝和有细节的人来说,这是一个很好的阅读:

C and C++ : Partial initialization of automatic structure

答案 1 :(得分:1)

这个答案对文档的引用有一个更完整的解释:

https://stackoverflow.com/a/629063/475523