1. 程式人生 > >[C語言]菜鳥的一些理解-陣列2

[C語言]菜鳥的一些理解-陣列2

二維陣列是一維陣列的演變。

int a[3][4] ;// 3個可以儲存4個int型元素的一維陣列

double d[4][4]; //4個可以儲存4個double型元素的一維陣列



二維陣列儲存方式

m[0][0] m[0][1] m[0][2]

m[1][0] m[1][1] m[1][2]

m[2][0] m[2][1] m[2][2]




把二維陣列看做教室的桌子,而學生看做所儲存的元素(用學號表示一個學生)

列 0 1 2 3
0 1201 1208 1215 1222
1 1202 1209 1216 1223
2 1203 1210 1217 1224

3 1204 1211 1218 1225
4 1205 1212 1219 1226
5 1206 1213 1220 1227
6 1207 1214 1221 1228
把行看做排   列看做組
假如你要找  1210  首先你要知道他在幾行幾列.


二維陣列的定義和賦值
其標準形式如下:
資料型別 陣列名[一維容量][二維容量]
int a[3][3] ;//定義一個可以儲存9個int型元素的二維陣列

char c[2][5];//定義一個可以儲存10個char型元素的二維陣列

int a[3,3];//錯誤

注意:二維陣列的容量  ==  一維容量  *  二維容量


還有陣列容量必須為常量。

二維陣列的賦值

1.用花括號把數值分開。這樣比較直觀,有利於可讀性,管理。
int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}};

2.跟一維陣列一樣的賦值方式,但是這樣方式,不利於可讀,管理
int a[3][3] = {1,2,3,4,5,6,7,8,9};

3.只部分的元素賦值。剩餘的編譯器會自動初始化為零。
int a[3][3] = {1,2,3,5};
int a[3][3] = {{1,2},{4},{7,8}};

二維陣列的應用

1.二維陣列的輸入輸出