使用陣列為了方便一次性定義多個變數,同時為了方便使用這些變數
乙個陣列就是多個變數的有序集合
1)定義乙個陣列,就定義了很多的變數
2)這每乙個變數都是陣列的乙個元素或成員
3)陣列是乙個有序的集合,也就是說可以使用乙個數字引用變數
4)陣列中每乙個元素的使用和乙個一般的變數使用一樣
一維陣列是元素都不是陣列的陣列
1)陣列元素是乙個簡單的型別或其他非陣列的型別
2)一維陣列好比一串羊肉串,乙個元素挨著乙個元素
3)乙個陣列只允許儲存一種資料型別的資料
語法:
資料型別陣列名[ 陣列長度 ];
1)資料型別表示陣列中每乙個元素的型別
2)陣列的名字就是乙個識別符號
3)陣列長度可以是乙個表示式,表示陣列裡面有幾個變數,常常稱為陣列的長度
例如:int nums[3];
表示定義了乙個名字為 nums 的陣列. 使用 nums 這個名字引用陣列,陣列裡面有 3 個變數,都是 int 型別的
例如:char chs[10];
表示定義了乙個長度為 10 的,儲存 char 型別的陣列
注意:早期 c 語言不允許使用變數定義陣列
c99 標準中允許使用變數定義陣列長度
先定義再初始化,使用下標為每乙個元素賦值
語法是 陣列名[下標]
int nums[5];
nums[0] = 1;
nums[1] = 2;
nums[2] = 3;
nums[3] = 4;
nums[4] = 5;
定義的同時進行初始化
1)完全初始化
int nums[5] = ;
2)不完全初始化,沒有提供資料的預設初始化為 0
int nums[10] = ;
3)省略陣列長度,由編譯器自動判斷
int nums = ;
引用陣列元素表示使用陣列中的每乙個變數
使用下標引用陣列中指定的變數
語法:陣列名[ 下標 ]
例如:int nums = ;
printf("%d\n", nums[0]);
printf("%d\n", nums[1]);
printf("%d\n", nums[2]);
引用陣列元素和使用指定型別變數一樣,可以讀取資料賦值等
1)讀取資料
2)獲取資料(列印,計算)
3)自增等
使用 for 迴圈對陣列進行遍歷
for (int i = 0; i < length; i++)
1、氣泡排序:
氣泡排序(bubble sort)是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端。
2、氣泡排序演算法的運作如下:
1)比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
2)對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。
3)針對所有的元素重複以上的步驟,除了最後乙個。
4)持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
3)演示與分析
如果儲存的資料為:12,3,40,25,7
如果需要排序,根據氣泡排序的思想分為下面幾步:
1)第一輪,兩兩比較
12和3比,交換得到:3,12,40,25,7
12和40比,不變:3,12,40,25,7
40和25比,交換:3,12,25,40,7
40和7比,交換:3,12,25,7,40
2)第二輪,兩兩比較
3與12比較,不變:3,12,25,7,40
12與25比較,不變:3,12,25,7,40
25與7比較,交換:3,12,7,25,40
3)第三輪,兩兩比較
3與12比較,不變:3,12,7,25,40
12與7比較,交換:3,7,12,25,40
4)第四輪,兩兩比較
3與7比較,不變:3,7,12,25,40
排序完成
for (int i =0;i <10 ;i ++)
}}
二維陣列名作為函式引數,就是將二維陣列的首位址作為引數傳遞給函式,定義語法為:
void func( int nums[2][3], int row, int column )
注意:引數第乙個數字可以省略
特點:函式內與函式外可以看成是同乙個二維陣列
#include #define row 6
#define col 6
int main(int argc, const char * argv) ,,,
,,
};char input ;
int x=1;
int y=1;
while (1)
}switch (input)
break ;
case 's':
if (map [x+1][y]==' ')
break;
case 'a':
if (map [x][y-1]==' ')
break;
case 'd':
if (map [x][y+1]==' ')
break;
}system ("clear");
}printf("恭喜你重獲自由...\n");
return 0;
}
黑馬程式設計師 學習C語言陣列
陣列 陣列的基本概念 把具有相同型別的若干變數按有序的形式組織起來。這些按序排列的同類資料元素的集合稱為陣列。特點 只能存放一種型別的資料,如全部是int型或者全部是char型,陣列裡的資料成為元素。陣列的分類 按儲存的內容分類 數值陣列 字元陣列 指標陣列 結構陣列 按維度分類 一維陣列 二位陣列...
黑馬程式設計師 C 陣列的學習
陣列的知識點學習 陣列是通用的資料結構,在c 當中使用陣列,需要建立system.array型別的物件。陣列是可索引的資料的集合。資料的型別既可以是內建的,也可以是自定義的 c 當中陣列就是物件本身。陣列是system.array類的乙個宣告的例項,在使用陣列的時候,也可以使用此類的所有方法和屬性。...
黑馬程式設計師 C語言指標與陣列
1 指標與位址 一元運算子 用於取乙個物件的位址,因而語句 p c 用於將c的位址賦給變數p,並且說p是指向c的指標。一元運算子 是間接定址或間接引用運算子,當它應用於指標時,它將訪問指標所指向的物件。由於指標也是變數,所以在程式中不必通過間接引用的方法就可以直接使用它們。例如,如果i q是另乙個指...