Skip to content

[C 語言] 陣列 (Arrays)

Last Updated on 2021-04-29 by Clay

陣列(Array)是一種資料儲存的格式,在硬體中以連續記憶體空間來儲存資料;也就是說,每個元素之間的記憶體位置是相鄰的。

而在 C 語言當中,我們可以宣告一個變數代表整個陣列。例如 X[10] 這樣的型態便代表著有 10 筆資料儲存在 X 陣列當中,編號則是從 0 到 9。


宣告陣列

dataType arrayName[arraySize]

在宣告陣列的時候,我們可以順帶初始化陣列的值。(當然,不要初始化也是可以的。

而除了一維陣列之外,我們也可以宣告二維、三維 ..... 到 N 維陣列為止。

#include <stdio.h>


int main() {
    // Init
    int x[3] = {1, 2, 3};
    int y[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    int z[] = {1, 2, 3, 4, 5, 6, 7, 8};

    return 0;
}


其中 z 陣列的長度則取決於後方宣告的元素個數。這也是一種常見的宣告方法。


印出陣列內的值

要印出陣列內的值,我們需要使用 sizeof() 函式來計算陣列的長度。

之所以要取得陣列長度,是因為除了我們自己宣告的陣列外,有時我們也可能取得未知長度的陣列,比方說從外部函式庫回傳的陣列值。這時若要使用 for 迴圈逐步印出陣列值,則需要知道陣列長度。

#include <stdio.h>


int main() {
    // Init
    int x[] = {1, 2, 3, 4, 5, 6, 7, 8};

    // Print x array
    for (int i=0; i<(sizeof(x)/sizeof(x[0])); ++i) {
        printf("%d\n", x[i]);
    }

    return 0;
}


Output:

1
2
3
4
5
6
7
8

References


Read More

Tags:

Leave a Reply