C語言入門(十五)之二維陣列

2021-08-29 16:31:11 字數 1622 閱讀 5361

陣列中的每乙個元素又是乙個陣列, 那麼這個陣列就稱之為二維陣列。

元素型別 陣列名稱[一維陣列的個數][每個一維陣列的元素個數];

元素型別 陣列名稱[行數][列數];

元素型別: 說明二維陣列中每個一維陣列儲存什麼型別的資料

一維陣列的個數: 說明二維陣列有多少個元素

每個一維陣列的元素個數 :  說明二維陣列中每乙個一維陣列的元素個數

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])

將會輸出

我執行了

names[0][1] = w

2、執行

change3(names[0]);

printf("names[0][0] = %c\n", names[0][0]);

void change3(char values)

將會輸出:

我執行了

names[0][0] = q

注意:names[0][0] == 一維陣列的乙個元素 == 值

names[0] == 一維陣列

3、執行

change4(names[0][0]);

printf("names[0][0] = %c\n", names[0][0]);

/ 引數為基本資料型別

void change4(char value)

輸出為:

我執行了

names[0][0] = l

因為change4傳入的是基本資料型別,不是陣列,所以也不會改變原陣列的值。

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.省略行數...