陣列初始化

陣列只是特定型別變數的順序儲存器位置塊。陣列的分配方式與普通變數相同,但名稱 [] 附加方括號,其中包含適合陣列記憶體的元素數。

下面的陣列示例使用 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