C語言 二維陣列

2021-10-05 16:40:27 字數 3388 閱讀 1108

定義:型別 陣列名【常量表示式】【常量表示式】

注意:第乙個是行,第二個是列

例如:

char a[6]

[6];

//6*6,字串陣列,6行6列,

int a[4]

[5];

//4*5,整數陣列,4行5列

double b[6]

[3];

//6*3,雙精度型陣列,6行3列

這種定義類似於陣列的巢狀

定義;陣列名【下標】【下標】

注意:從0開始計數的,注意下標取值範圍,要不然屬於越界訪問,開始瘋狂報錯

例如:

a[0]

[0];

//第一行第一列

b[2][

4];//第三行第五列

b[3][

1];//第四行第二列

定義方式有很多種

①定義:型別 陣列名

注意:由於二維陣列在記憶體中是線性存放的,因此可以將所有的資料寫在乙個花括號裡

例如

#define _crt_secure_no_warnings

//這個是vs2017特有的,不是 vs2017的小夥伴請忽略

#include

#include

intmain()

;//兩行兩列

for(

int i =

0; i <

2; i++

)//列印出陣列

同時,如果定義了,但是沒有定義完全,如果是int型,會被自定義為0,

#define _crt_secure_no_warnings

//這個是vs2017特有的,不是 vs2017的小夥伴請忽略

#include

#include

intmain()

;//兩行兩列

for(

int i =

0; i <

2; i++

)//列印出陣列

如果是char型,會顯示空格

#define _crt_secure_no_warnings

//這個是vs2017特有的,不是 vs2017的小夥伴請忽略

#include

#include

intmain()

;//兩行兩列

for(

int i =

0; i <

2; i++

)//列印出陣列

注意對於字串型陣列

#define _crt_secure_no_warnings

//這個是vs2017特有的,不是 vs2017的小夥伴請忽略

#include

#include

intmain()

;//兩行兩列

for(

int i =

0; i <

2; i++

)//列印出陣列

②定義:型別 陣列名,{},{},…}

注意:為了更直觀的表述,可以用大括號將每一行元素括起來

當然,有乙個自動初始化的行為

#define _crt_secure_no_warnings

//這個是vs2017特有的,不是 vs2017的小夥伴請忽略

#include

#include

intmain()

};//兩行兩列

for(

int i =

0; i <

2; i++

)//列印出陣列

③定義:型別 陣列名

注意:c99新增功能,指定初始化內容,未指定的自動初始化

栗子:

#define _crt_secure_no_warnings

//這個是vs2017特有的,不是 vs2017的小夥伴請忽略

#include

#include

intmain()

;//兩行兩列

for(

int i =

0; i <

2; i++

)//列印出陣列

④另外,二維陣列的初始化也能偷懶,讓編譯器根據元素的數量計算陣列的長度,但是,只有一維的元素個數可以不寫,其他維度的必須寫上。

int a[

2]=,

,,};

也就是換了個下標而已

#define _crt_secure_no_warnings

//這個是vs2017特有的,不是 vs2017的小夥伴請忽略

#include

#include

intmain()

,,,}

;for

(int i =

0; i <

4; i++

)//按一行一行的列印出陣列

printf

("\n");

}printf

("轉置\n");

for(

int i =

0; i <

3; i++

)//按一列一列的列印出陣列

C語言二維陣列

int main int argc,const char argv int array 5 建立乙個二維陣列 型別修飾符陣列名 包含幾個小陣列 每個小陣列有多少個元素 初始值如何寫?int array 3 4 一維陣列可以省略元素個數,二維陣列只能省略第一位 第乙個 3 可以不寫 第二種初始值寫法 ...

C語言 二維陣列

c語言之二維陣列 1 定義的基本格式 int a 1 2 1代表一行,2代表二列 難點 二維陣列的行列下標。字串結束標誌的實用。2 一維陣列和二維陣列的聯絡。一維陣列如同千層面一樣一層一層的,而二維陣列,只是給千層面切了幾刀 3 int a 2 3 a 0 0 是1,a 0 1 是2,a 0 2 是...

C語言 二維陣列

1 陣列名稱不可以代表儲存區 2 陣列名稱可以代表陣列裡第乙個儲存區的位址 3 可以對陣列名稱進行sizeof計算,結果是陣列裡所有儲存區的總大小 4 c99規範裡可以使用變長陣列,宣告變長陣列的時候可以用變數表示陣列裡的儲存區個數 5 某一次程式執行過程中變長陣列裡儲存區個數不會變化 6 如果程式...