没有初始化的数组算什么?

时间:2019-02-20 20:37:18

标签: c++ arrays initialization

我不确定这两个选项:

示例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 number [SIZE] = {}”未初始化正确吗?

1 个答案:

答案 0 :(得分:3)

3执行聚合初始化,这对于int numbers[SIZE] = {}来说是值初始化,这意味着它们都被初始化为0。

int声明了一个未初始化的int numbers[SIZE];数组。

注意:如果数组具有静态存储持续时间,则即使没有显式的= {},也会将其初始化为零。

此外,聚合初始化可让您指定一些初始化程序,然后将其余初始化为零(或它们类型的默认值)。