陣列是一組具有相同資料型別的變數集合,這裡要注意兩點,陣列只能儲存相同的資料型別和陣列的記憶體是連續的,這位陣列和指標的聯絡奠定了基礎。
定義及初始化
一維陣列指的是只有乙個下標的陣列,它用來表示一組具有相同型別的資料
其格式為
e.g.型別說明符 陣列名[常量表示式]
;
上式表達的是定義了乙個一維陣列,其資料型別是int,arr是陣列名稱,3表示的是陣列長度。其包含的為int arr[3]
;
arr[0]
,arr[1]
,arr[2]
,沒有arr[3]
,使用arr[3]
會造成陣列越界錯誤
陣列的初始化有三種方式:
int arr[3]
=;
int arr[3]
=;
一維陣列的使用int arr=
;
要使用陣列元素,就需要使用符合陣列使用規則的使用方式,陣列使用格式如下:
陣列名[下標]
注:在陣列中,下標是以0開始的
int arr[3]
=;int i =0;
for(i =
0; i <
3; i++
)
從第乙個元素開始,將相鄰的兩個元素依次進行比較,直到最後兩個元素完成比較。如果前乙個元素比後乙個元素大,則交換它們的位置。整個過程完成後,陣列中最後乙個元素自然就是最大值,這樣也就完成了第一輪的比較。int arr[5]
=;int max = arrx[0]
;int i =0;
for(i =
1; i <
5; i++)}
printf
("max = %d\n"
, max)
;
除了最後乙個元素,將剩餘的元素繼續進行兩兩比較,過程與第一步相似,這樣就可以將陣列中第二大的數放在倒數第二個位置。
依次類推,持續對越來越少的元素重複上面的步驟,直到沒有任何一對元素需要比較為止
定義及初始化int x[5]
=;int m =
0, n =0;
int temp =0;
int i =0;
printf
("氣泡排序前:\n");
for(i =
0; i <
5; i++
)printf
("\n");
for(m =
0; m <5-
1; m++)}
}printf
("氣泡排序後:\n");
for(i =
0; i <
5; i++
)printf
("\n"
);
二維陣列可以看作一維陣列的每個元素又是乙個一維陣列,其格式為:
e.g.:型別說明符 陣列名[常量表示式1
][常量表示式2
];
二維陣列的初始化:int arr[2]
[3];
int arr[2]
[3]=
,};
int arr[2]
[3]=
;
注:對陣列賦值時,二維陣列的第乙個下標可以省略,而第二個下標不可省略!int arr[2]
[3]=
,};
arr
<=>*arr
<=>&arr
<=>&arr[0][0]
<=>array[0]
在二維陣列中。arr[0]
代表的是乙個陣列名,是乙個右值。
arr + 1
與arr[0] + 1
代表的意義不同
二維陣列的使用
二維陣列的使用規則與一維陣列類似,其格式為
陣列名[下標]
[下標]
;
int arr[3]
[4]=
,,};
for(
int i =
0; i <
3; i++
)//迴圈遍歷行
printf
("\n");
//每一行的末尾新增換行符
}
C 學習讀書筆記 陣列
1.c 有幾條關於初始化陣列的規則,他們限制了初始化的時刻 只有在定義陣列時才能使用初始化,此後就不能使用了,也不能將乙個陣列賦予另乙個陣列 int people 4 ok int class 4 ok class 4 not allowed class people not allowed 不過可...
C語言學習筆記《陣列》
1,已知陣列x有5個元素,精組y有6個元素.請分別對x和y排序。輸出x和y排序後的元素 include main y 6 int i,j,sum 0 for i 0 i 4 i int i,j,sum for i 0 i 9 i for i 0 i 9 i printf d t a i code c...
C 學習筆記 陣列的輸入
字串在c 中是特殊的存在 很多字串函式,用字串比用字元陣列更方便,但是也導致字串的使用方法和其他陣列不同 因此在討論陣列問題是,都會把字串單獨拉出來說。一 非字串的輸入方法 cin a i 本語句用於將鍵盤輸入的資訊儲存在a i 中。使用cin不需要向c語言一樣需要指出資料的型別,cin會直接按照之...