C語言學習篇 7陣列 二維陣列 高維陣列

2021-07-12 07:24:39 字數 3118 閱讀 8222

說明:本文主要對陣列進行闡述,並對二維及高維陣列進行舉例。

陣列:用來儲存一組同種型別資料的構造資料型別稱之為陣列。

如何定義陣列?

格式:型別修飾符 陣列名[元素個數或常量表示式] = ;

陣列的初始化

方式一:沒有賦初始值的元素,自動設定初值為0;

示例:int b[5] = ;//只對前三個元素賦了初始值,後兩個元素自動設定為了0。

方式二:只寫了陣列元素個數;

示例:int c[5] = ;//五個陣列元素全部設定初值為0。

方式三:根據初始化設定,自動判斷陣列元素個數;

示例:int d = ;//相當於int d[4] = ;

方式四:一般寫法;

示例:int e[5] = ;

方式五:對指定的元素賦值;

示例:int f[5] = ;//對指定下標的元素賦初值

注意:

陣列元素的訪問

陣列遍歷:

按照順序:從陣列的第乙個元素開始,訪問陣列的最後乙個元素結束

使用for迴圈實現的陣列遍歷

迴圈和陣列關係密切

#include 

int main() ;

for (int i = 0; i < 5; i ++)

return

0;}

5. 陣列元素的修改

根據陣列下標確定需要修改的陣列元素。

#include 

int main() ;

//遍歷陣列

for(int i = 0; i < 5;i ++)

printf("*****===\n");

// 修改陣列元素

aa[1] = 22;

aa[4] = 44;

// 再遍歷

for(int i = 0;i < 5;i ++)

return

0;}

執行結果:

aa[0] =1

aa[1] =2

aa[2] =3

aa[3] =4

aa[4] =5

*****===

aa[0] = 1

aa[1] = 22

aa[2] = 3

aa[3] = 4

aa[4] = 44

6. 陣列使用注意

int crazy[4] = ;

printf("%d",crazy[4]);//crazy陣列下標範圍為0~3。

1.常見的排序方法:氣泡排序、選擇排序、插入排序等;

2.排序的規則有兩種:公升序、降序;

下面以氣泡排序為例說明陣列排序。

氣泡排序的思路:每次將相鄰的兩個數進行比較,按照公升序或降序進行交換,直到所有數字的順序正確為止。

//將無序陣列用氣泡排序按公升序排列

#include

//bubble sort

void bubblesort(int

array, int count)}}

}int main() ;

// 計算陣列個數

int count = sizeof(array)/sizeof(int);

bubblesort(array,count);

// 遍歷排序後的陣列

for (int i = 0; i < count; i++)

return

0;}

執行結果

array[0] = 15

array[1] = 18

array[2] = 19

array[3] = 25

array[4] = 33

二維陣列本質上是將陣列作為陣列元素的陣列,稱為陣列的陣列。為了形象化理解二維陣列,通常將二維陣列寫成行和列的排列形式,通常被稱為m行n列。

格式:型別修飾符 陣列名[行數][列數] = ;

1.行數可以省,列數不可以省;

int array1[4] = ;

2.設定初始值時推薦使用,{},{}…}形式;

int array[4][4] = ,

, ,

};3.每一行元素不足會自動補齊,補齊部分賦值為0。

二維陣列遍歷

示例:

#include 

int main() ,,,

};for (int i = 0; i < 4; i ++)

printf("\n");

}return

0;}

執行結果:

array[0][0] =  0  array[0][1] =  1  array[0][2] =  2  array[0][3] =  3

array[1][0] = 10 array[1][1] = 11 array[1][2] = 12 array[1][3] = 13

array[2][0] = 20 array[2][1] = 21 array[2][2] = 22 array[2][3] = 23

array[3][0] = 30 array[3][1] = 31 array[3][2] = 32 array[3][3] = 33

陣列下標在兩個以上;

三維陣列:立體的層,行,列;

格式:型別修飾符 陣列名[層數][行數][列數] = ;

說明:遍歷三維陣列需要三層迴圈;

高維陣列訪問元素:陣列名[下標][下標]…

高維陣列元素個數等於各個數的乘積

高維陣列占用記憶體等於元素個數乘以單個元素所佔空間。

1.對於型別相同的一組資料,最好選用陣列進行儲存;

2.下標從0開始;

3.注意越界問題;

4.陣列的遍歷一般採用for迴圈;

1.將乙個二維陣列的行和列交換,儲存到另乙個陣列。

2.定義乙個3行4列的陣列,找出陣列的最大元素所在行和列。答案

C語言學習二維陣列

二維陣列的定義 1.型別 陣列名 常量表示式 常量表示式 注 只有第一維可以不寫常量,後面必須要加上。int a 6 6 6行6列 char b 4 5 4行5列 double c 6 3 6行3列 2.二維陣列的訪問 陣列名 下標 下標 a 0 0 訪問a陣列中第1行第1列的元素 同樣需要注意下標...

c 二維陣列賦值 C語言學習 陣列

一 陣列的定義 元素 用乙個統一的名字標識這組資料,這個名字稱為資料名,構成資料的每乙個資料項 下標 從0開始的整數,遵循 先定義,後使用 的規則 陣列定義的一般形式 型別陣列名 下標1 下標2 下標n 注意 型別用於宣告陣列的型別,即陣列中元素的型別 陣列名用於標識該陣列 下標的個數表示陣列的維數...

C語言二維陣列

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