
陣列是相同資料型態的一組連續數值,裡頭每個數值被稱為元素 (element) ,可依索引值設定或存取指定元素。例如
| 001 | #include <iostream> |
| 002 | |
| 003 | int main() { |
| 004 | int a[5]; |
| 005 | a[0] = 1; |
| 006 | a[1] = 2; |
| 007 | a[2] = 3; |
| 008 | a[3] = 4; |
| 009 | a[4] = 5; |
| 010 | |
| 011 | std::cout << "a[0]: " |
| 012 | << a[0] |
| 013 | << std::endl; |
| 014 | std::cout << "a[1]: " |
| 015 | << a[1] |
| 016 | << std::endl; |
| 017 | std::cout << "a[2]: " |
| 018 | << a[2] |
| 019 | << std::endl; |
| 020 | std::cout << "a[3]: " |
| 021 | << a[3] |
| 022 | << std::endl; |
| 023 | std::cout << "a[4]: " |
| 024 | << a[4] |
| 025 | << std::endl; |
| 026 | |
| 027 | return 0; |
| 028 | } |
| 029 | |
| 030 | /* Kaiching Chang |
| 031 | u0703_1.cpp |
| 032 | 2014-02 */ |
第 5 行宣告一個整數陣列 a ,識別字後面的中括弧用來指定陣列大小,此例為 5 ,也就是 a 具有 5 個元素
| 004 | int a[5]; |
下面利用從 0 開始的索引值設定每個陣列元素,注意索引值也是放在中括弧裡頭
| 005 | a[0] = 1; |
| 006 | a[1] = 2; |
| 007 | a[2] = 3; |
| 008 | a[3] = 4; |
| 009 | 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 開始的。
也可以直接用大括弧設定所有元素,這樣就不需要指定陣列大小,宣告陣列變數時中括弧留空即可,像上例可改成
| 004 | int a[] = {1, 2, 3, 4, 5}; |
另外比較常見的是利用迴圈 (loop) 存取陣列元素,上例印出部份可改成
| 011 | for (int i = 0; i < 5; i++) { |
| 012 | std::cout << "a[" |
| 013 | << i |
| 014 | << "]: " |
| 015 | << a[i] |
| 016 | << std::endl; |
| 017 | } |
陣列可以是多維的,這是說陣列可以當作陣列的元素,例如
| int c[2][3] = {{1, 2, 3}, | |
| {4, 5, 6}}; |
上面陣列 c 具有兩個元素,兩個元素都是陣列,因此要用兩層中括弧存取元素,寫成完整例子如下
| 001 | #include <iostream> |
| 002 | |
| 003 | int main() { |
| 004 | int c[2][3] = {{1, 2, 3}, |
| 005 | {4, 5, 6}}; |
| 006 | |
| 007 | for (int i = 0; i < 2; i++) { |
| 008 | for (int j = 0; j < 3; j++) { |
| 009 | std::cout << c[i][j] |
| 010 | << std::endl; |
| 011 | } |
| 012 | } |
| 013 | |
| 014 | return 0; |
| 015 | } |
| 016 | |
| 017 | /* Kaiching Chang |
| 018 | u0703_2.cpp |
| 019 | 2014-02 */ |
編譯後執行,結果如下
| $ g++ u0703_2.cpp |
| $ ./a.out |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| $ |
continue ...
沒有留言:
張貼留言