C++宣告陣列變數的方式如下。
Array(陣列)是一有順序相同型態元素(elements)的集合,每個元素在記憶體中佔有連續的儲存空間可各自被參照。
C++宣告陣列的語法為:type name[length]
,type
為陣列元素的資料型態,例如int
;name
為變數名稱,例如ages
;[length]
為陣列長度,也就是元素的數量。
例如下面宣告一個int
整數陣列變數ages
長度為10,陣列元素未初始化則內容為0。
int ages[5];
以圖示表示。
┌───── length=5 ────┐
ages ┌───┬───┬───┬───┬───┐
elements──►│ 0 │ 0 │ 0 │ 0 │ 0 │
└───┴───┴───┴───┴───┘
index───► 0 1 2 3 4
下面則在宣告陣列時初始化元素內容,元素個數不可超過陣列長度。
int ages[5] = {1, 2, 3, 4, 5};
┌───┬───┬───┬───┬───┐
ages │ 1 │ 2 │ 3 │ 4 │ 5 │
└───┴───┴───┴───┴───┘
0 1 2 3 4
若要取得元素值,用索引(index)取得指向的陣列元素。例如下面取得索引2的元素並分派到變數a
main.cpp
#include <iostream>
using namespace std;
int main() {
int ages[5] = {1, 2, 3, 4, 5};
int a = ages[2]; // 取得索引2的陣列元素
cout << a << endl; // 3
return 0;
}
┌───┬───┬───┬───┬───┐
ages │ 1 │ 2 │ 3 │ 4 │ 5 │
└───┴───┴───┴───┴───┘
0 1 2 3 4
▲
│
若要修改元素內容,一樣用索引指向該元素,然後把新值分派給指向的元素。例如下面把值33分派給索引2的元素。
main.cpp
#include <iostream>
using namespace std;
int main() {
int ages[5] = {1, 2, 3, 4, 5};
ages[2] = 33; // 把值分派給索引2的陣列元素
int a = ages[2];
cout << a << endl; // 33
}
┌───┬───┬───┬───┬───┐
ages │ 1 │ 2 │ 33│ 4 │ 5 │
└───┴───┴───┴───┴───┘
0 1 2 3 4
▲
│
main.cpp
#include <iostream>
using namespace std;
int main() {
int ages[5] = {1, 2, 3, 4, 5};
for (int i = 0; i < sizeof(ages)/sizeof(ages[0]); i++){
cout << ages[i] << endl;
}
return 0;
}
沒有留言:
張貼留言