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;
}

/* 《程式語言教學誌》的範例程式
   https://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;
}

/* 《程式語言教學誌》的範例程式
   https://kaiching.org/
   檔名:u0703_2.cpp
   功能:示範 C++ 的陣列型態
   作者:張凱慶*/

編譯後執行,結果如下

$ g++ u0703_2.cpp
$ ./a.out
1
2
3
4
5
6
$

上一頁 7.2 - 列舉
回 C++ 速查手冊首頁
下一頁 7.4 - 指標