数组初始化

数组只是特定类型变量的顺序存储器位置块。数组的分配方式与普通变量相同,但名称 [] 附加方括号,其中包含适合数组内存的元素数。

下面的数组示例使用 typ int,变量名 arrayOfInts,以及数组有空格的元素 [5] 的数量:

int arrayOfInts[5];

可以像这样同时声明和初始化数组

int arrayOfInts[5] = {10, 20, 30, 40, 50};

通过列出其所有成员来初始化数组时,不必在方括号内包含元素数。它将由编译器自动计算。在以下示例中,它是 5:

int arrayOfInts[] = {10, 20, 30, 40, 50};

在分配更多空间的同时,也可以仅初始化第一个元素。在这种情况下,必须在括号中定义长度。以下将使用部分初始化分配长度为 5 的数组,编译器使用元素类型的标准值初始化所有剩余元素,在本例中为零。

int arrayOfInts[5] = {10,20}; // means 10, 20, 0, 0, 0

可以以相同的方式初始化其他基本数据类型的数组。

char arrayOfChars[5]; // declare the array and allocate the memory, don't initialize

char arrayOfChars[5] = { 'a', 'b', 'c', 'd', 'e' } ; //declare and initialize

double arrayOfDoubles[5] = {1.14159, 2.14159, 3.14159, 4.14159, 5.14159};

string arrayOfStrings[5] = { "C++", "is", "super", "duper", "great!"};

同样重要的是要注意,当访问数组元素时,数组的元素索引(或位置)从 0 开始。

int array[5] = { 10/*Element no.0*/, 20/*Element no.1*/, 30, 40, 50/*Element no.4*/};
std::cout << array[4]; //outputs 50
std::cout << array[0]; //outputs 10