【发布时间】:2019-02-20 20:37:18
【问题描述】:
我不确定这两个选项:
示例 1:
const int SIZE = 4;
int numbers[SIZE] = {}; //is this array initialized?
cout << numbers[0];
示例 2:
const int SIZE = 4;
int numbers[SIZE]; // is this array initialized?
cout << numbers[0];
第二个的问题是输出是4196112。
也就是说“int numbers[SIZE] = { }”没有初始化对吧?
【问题讨论】:
-
我不确定您认为“初始化”是什么意思,但 4196112 是数组未初始化的证据,至少未初始化为零。由于您从不为
numbers提供任何值,因此在所有这些情况下,您最好的希望就是将您的数组初始化为零。因此,如果您实际上正在初始化数组,则这些示例中不会出现 4196112.. -
跟进我之前的评论,初始化变量有一些已知值。未初始化的变量具有不确定的值。已初始化的变量并不意味着具有非零值的变量。
标签: c++ arrays initialization