大家好啊,我是小象?(?òωó?)?
我的博客:Xiao Xiangζ?????
很高興見到大家,希望能夠和大家一起交流學習,共同進步。*
接著上節課的內容,這一節我們來學習二維數組,學習二維數組的概念和創建,明白二維數組的初始化,學會不完全初始化,完全初始化,按照行初始化的形式,熟悉二維數組的使用,學習其中二維數組的下標和輸入輸出的知識,最后了解二維數組的存儲…
文章目錄
- 開篇
- 一、二維數組的創建
-
- 1.1 二維數組的概念
- 1.2 二維數組的創建
- 二、二維數組的初始化
-
- 2.1 不完全初始化
- 2.2 完全初始化
- 2.3 按照行初始化
- 2.4 初始化時省略行,但不能省略列
- 三、二維數組的使用
- 3.1 二維數組的下標
-
- 3.2 二維數組的輸入和輸出
- 四、二維數組在內存中的存儲
- 五、C99中的變長數組
- 兩個數組小練習
- 五、結尾
開篇
上節課我們給大家分享了一維數組的創建、初始化,使用等等內容,這節課我們繼續來學習二維數組
一、二維數組的創建
1.1 二維數組的概念
在C語言中,二維數組是一個數組,其元素本身也是數組。這種結構通常用于表示矩陣或表格數據。二維數組可以看作是一個表格,其中每個元素都位于特定的行和列上。
前面學習的數組被稱為?維數組,數組的元素都是內置類型的,如果我們把**一維數組做為數組的元素,這時候就是二維數組,二維數組作為數組元素的數組被稱為三維數組,二維數組以上的數組統稱為多維數組**。
1.2 二維數組的創建
我們先來看看二維數組的語法形式:
type arr_name[常量值1][常量值2];
例如:
int arr[3][5];
double data[2][8];
解釋:上述代碼中出現的信息
? 3表示數組有3行
? 5表示每一行有5個元素
? int 表示數組的每個元素是整型類型
? arr 是數組名,可以根據自己的需要指定名字
data數組意思基本一致。
二、二維數組的初始化
在創建變量或者數組的時候,給定一些初始值,被稱為初始化。
在C語言中,二維數組的初始化是指在數組聲明時為其元素賦予初始值的過程。二維數組是一個數組的數組,因此其初始化涉及到為每一行(即內層數組)的元素指定初始值。
那二維數組如何初始化呢?像一維數組一樣,也是使用大括號初始化的。
下面我們來看三種初始化方式:
2.1 不完全初始化
舉個例子:
int arr1[3][5] = {1,2};
int arr2[3][5] = {0};
2.2 完全初始化
int arr3[3][5] = {1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7};
2.3 按照行初始化
int arr4[3][5] = {{1,2},{3,4},{5,6}};
PS:二維數組完全可以理解為是若干個一維數組組合而成,所以我們可以在外面的大括號里面對其中的元素添加小括號,就像上面的一樣,小括號可以理解為一個個一維數組。
2.4 初始化時省略行,但不能省略列
如果省略列的話,一行幾個數字不能夠確定了
//初始化時省略行,但不能省略列
int arr5[