陣列中的每乙個元素又是乙個陣列, 那麼這個陣列就稱之為二維陣列。
元素型別 陣列名稱[一維陣列的個數][每個一維陣列的元素個數];
元素型別 陣列名稱[行數][列數];
元素型別: 說明二維陣列中每個一維陣列儲存什麼型別的資料
一維陣列的個數: 說明二維陣列有多少個元素
每個一維陣列的元素個數 : 說明二維陣列中每乙個一維陣列的元素個數
如何獲取二維陣列中的一維陣列的元素的值char names[2][3] =
, // 0
// 1
};
printf("%c\n", names[0][1]);
如何遍歷二維陣列
注意:二維陣列的多種初始化方式(不強記,用到的時候可以去搜)for (int i = 0; i < 2; i++)
}
同樣的,陣列的名稱就是陣列的位址。
&nums == nums == &nums[0]
二維陣列名稱作為函式引數傳遞, 傳遞的也是位址。char names[2][3] =,};
// &names == names == &names[0] , names就是陣列的位址
printf("&names = %p\n", &names);
printf("names = %p\n", names);
printf("&names[0] = %p\n", &names[0]);
比如,1、執行如下函式
change2(names);
printf("names[0][0] = %c\n", names[0][1]);
將會輸出void change2(char values[2][3])
2、執行我執行了
names[0][1] = w
change3(names[0]);
printf("names[0][0] = %c\n", names[0][0]);
void change3(char values)
將會輸出:
注意:names[0][0] == 一維陣列的乙個元素 == 值我執行了
names[0][0] = q
names[0] == 一維陣列
3、執行
change4(names[0][0]);
printf("names[0][0] = %c\n", names[0][0]);
輸出為:/ 引數為基本資料型別
void change4(char value)
因為change4傳入的是基本資料型別,不是陣列,所以也不會改變原陣列的值。我執行了
names[0][0] = l
C語言之二維陣列
有兩個下標的陣列稱為二維陣列 型別 陣列名 常量表示式1 常量表示式2 第一維的長度 第二維的長度 二維陣列的元素也稱之為雙下標變數。字串是特殊的字元陣列 字串陣列是特殊字元型二維陣列 字串陣列 存放字串的陣列。定義字串陣列 char 陣列名 常量表示式 常量表示式 三維陣列遍歷 多維陣列 int ...
C 語言之二維陣列
內容 二維陣列 一維陣列 豆角 二維陣列 定義 一維陣列 資料型別 陣列變數名 new 資料型別 陣列長度 資料型別 陣列變數名 new 資料型別 陣列長度 二維陣列 資料型別 陣列變數名 new 資料型別 行數,列數 int a new int 3,4 賦值 a 行下標,列下標 值 下標都是從 開...
C語言之二維陣列
還是乙個陣列,只不過陣列中得每乙個元素又是乙個陣列 型別 陣列名 行 列 例 int nums 2 3 2行3列的二維陣列,儲存的資料型別是int型別 char chs 3 5 3行5列的二維陣列,儲存的資料型別是char型別 a.int nums 3 5 b.int nums 2 3 c.省略行數...