C學習筆記 陣列

2021-09-16 12:27:19 字數 2481 閱讀 4072

陣列是一組具有相同資料型別的變數集合,這裡要注意兩點,陣列只能儲存相同的資料型別和陣列的記憶體是連續的,這位陣列和指標的聯絡奠定了基礎。

定義及初始化

一維陣列指的是只有乙個下標的陣列,它用來表示一組具有相同型別的資料

其格式為

型別說明符  陣列名[常量表示式]

;

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"

);

定義及初始化

二維陣列可以看作一維陣列的每個元素又是乙個一維陣列,其格式為:

型別說明符 陣列名[常量表示式1

][常量表示式2

];

e.g.:

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 + 1arr[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會直接按照之...