說明:本文主要對陣列進行闡述,並對二維及高維陣列進行舉例。
陣列:用來儲存一組同種型別資料的構造資料型別稱之為陣列。
如何定義陣列?
格式:型別修飾符 陣列名[元素個數或常量表示式] = ;
陣列的初始化
方式一:沒有賦初始值的元素,自動設定初值為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 可以不寫 第二種初始值寫法 ...