C 多維陣列
多維陣列
在上一章中,您學習了 陣列,也被稱為一維陣列。這些陣列非常有用,並且在 C 程式設計中會經常用到。但是,如果您想以表格形式儲存資料,例如帶有行和列的表,那麼您需要熟悉多維陣列。
多維陣列本質上是陣列的陣列。
陣列可以有任意數量的維度。在本章中,我們將介紹最常見的——二維陣列(2D)。
二維陣列
二維陣列也稱為矩陣(行和列的表格)。
要建立一個二維整數陣列,請看以下示例:
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
第一個維度代表行數 [2],第二個維度代表列數 [3]。這些值按行順序排列,並可視化如下:

訪問二維陣列的元素
要訪問二維陣列的元素,您必須指定行和列的索引號。
此語句訪問 matrix 陣列的第一行 (0) 和第三列 (2) 中的元素值。
請記住: 陣列索引從 0 開始:[0] 是第一個元素,[1] 是第二個元素,以此類推。
更改二維陣列的元素
要更改元素的值,請引用每個維度中元素的索引號。
以下示例將更改第一行 (0) 和第一列 (0) 的元素值:
示例
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
matrix[0][0] = 9;
printf("%d", matrix[0][0]); // 現在輸出 9 而不是 1
自己動手試一試 »
遍歷二維陣列
要遍歷多維陣列,您需要為陣列的每個維度設定一個迴圈。
以下示例輸出 matrix 陣列中的所有元素:
示例
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
printf("%d\n", matrix[i][j]);
}
}
自己動手試一試 »