Try   HackMD
tags: tgirc早修book

二維、多維陣列

二維陣列的宣告

int ary[n][m]; int num[2][4];

第一個 [] 表示列(row),在第一維;第二個 [] 表示行(column),在第二維。

可以想像成是有 2 個長度為 4 的一維陣列,來儲存 2*4 筆資料

列\行 [0] [1] [2] [3]
[0] (0,0) (0,1) (0,2) (0,3)
[1] (1,0) (1,1) (1,2) (1,3)

表示位置 num[1][3] 的值是 3:

num[1][3] = 3;

二維陣列的初始化

int num[2][4]={ {1,2,3,4}, {1,1,1,1} }

二維陣列中要進行輸入輸出時,要一橫排處理完後在處理下一橫排,或是一直排處理完後在處理下一直排都可以。
採第一種方式會更有效率,因為它和 C++ 實際儲存方式最相近,也和 cin、cout 的輸出輸入順序一致

for(int i = 0; i < r; i++){ for(int j = 0; j < c; j++){ cin>>ary[i][j]; } }

多維陣列

依照上述的邏輯,數個相同大小的二維陣列可以構成一個三維陣列,而數個相同大小的三維陣列可以構成四維陣列,以此類推。