C++ 速查手冊
7.3 - 陣列
陣列是相同資料型態的一組連續數值,裡頭每個數值被稱為元素 (element) ,可依索引值設定或存取指定元素。例如
#include <iostream>
int main() {
int a[5];
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
a[4] = 5;
std::cout << "a[0]: " << a[0] << std::endl;
std::cout << "a[1]: " << a[1] << std::endl;
std::cout << "a[2]: " << a[2] << std::endl;
std::cout << "a[3]: " << a[3] << std::endl;
std::cout << "a[4]: " << a[4] << std::endl;
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u0703_1.cpp
功能:示範 C++ 的陣列型態
作者:張凱慶*/
第 4 行宣告一個整數陣列 a ,識別字後面的中括弧用來指定陣列大小,此例為 5 ,也就是 a 具有 5 個元素
int a[5];
下面利用從 0 開始的索引值設定每個陣列元素,注意索引值也是放在中括弧裡頭
int a[5];
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
a[4] = 5;
最後依序印出所有的元素值,此例編譯執行結果如下
$ g++ u0703_1.cpp |
$ ./a.out |
a[0]: 1 |
a[1]: 2 |
a[2]: 3 |
a[3]: 4 |
a[4]: 5 |
$ |
注意陣列的索引值是從 0 開始的。
也可以直接用大括弧設定所有元素,這樣就不需要指定陣列大小,宣告陣列變數時中括弧留空即可,像上例可改成
int a[] = {1, 2, 3, 4, 5};
另外比較常見的是利用迴圈 (loop) 存取陣列元素,上例印出部份可改成
for (int i = 0; i < 5; i++) {
std::cout << "a["#160;<< i << "]: " << a[i] << std::endl;
}
陣列可以是多維的,這是說陣列可以當作陣列的元素,例如
int c[2][3] = {{1, 2, 3}, {4, 5, 6}};
上面陣列 c 具有兩個元素,兩個元素都是陣列,因此要用兩層中括弧存取元素,寫成完整例子如下
#include <iostream>
int main() {
int c[2][3] = {{1, 2, 3}, {4, 5, 6}};
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
std::cout << c[i][j] << std::endl;
}
}
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u0703_2.cpp
功能:示範 C++ 的陣列型態
作者:張凱慶*/
編譯後執行,結果如下
$ g++ u0703_2.cpp |
$ ./a.out |
1 |
2 |
3 |
4 |
5 |
6 |
$ |
相關教學影片