注:本文是蘇小紅版c語言程式設計第8章的筆記
定義陣列時不可以用變數定義陣列的大小
int score [5] = ;
<=>int score = ;
static int score[5]
<=>static int score [5] =
陣列第二維的長度宣告永遠都不能省略, 因為c中二維陣列的元素是按行存放的(即現存第一行,再存第二行…)
向函式傳遞一維陣列:
void readscore(int score, int n);
...int score[n];
...readscore(score, n);//陣列名作函式實參呼叫函式
陣列作函式形參時,陣列的長度可以不出現在陣列名後面的方括號內,通常是用另乙個整型形參來制定陣列的長度。(因為即使寫了編譯器也只檢查是否是負數,並不能真正表示出接受的陣列的大小)
排序 交換排序(以降序為例):
void descending(int score, int n)
} }}
選擇排序(以降序為例):
void descending(int a, int n)
temp = a[j];
a[j] = a[k];
a[k] = temp;
}}
氣泡排序(以降序為例):不斷交換相鄰的兩個數
void descending(int a, int n)
} }}
折半查詢(以降序陣列為例)
int binsearch(int a, int n, int x)else if(a[mid] < x)else
}return -1;
}
也可以使用標誌變數法
int binsearch(int a, int n, int x)else if(a[mid] < x)else
}return pos;
}
C語言複習 陣列
1陣列 1.1 一維陣列的初始化 陣列包括 陣列的建立 在建立陣列時,必須定義陣列的大小和型別,陣列的大小不能為零,陣列中元素型別都是相同的。例 int arr 10 內必須是常量陣列的初始化 例 int arr1 3 int arr2 在這裡,我們arr 3 裡邊的數字可以不用寫 int arr3...
C語言複習陣列
陣列的初始化 當賦值的元素少於陣列總體元素的時候,剩餘的元素自動初始化為 0 對於short int long,就是整數 0 對於char,就是字元 0 對於float double,就是小數 0.0。沒賦值的都為0 根據 ascii 碼表,字元 0 的編碼值就是 0。下面的形式將陣列的所有元素初始...
C語言複習(六) 陣列
從元素型別的角度看,陣列是相同型別的變數的有序集合 從記憶體的角度看,陣列是連續的一大片記憶體空間 陣列的初始化比較簡單,這裡就不詳細贅述了,現在就總結幾個注意點。陣列首元素的位址和陣列位址是兩個不同的概念。陣列名代表陣列首元素的位址,它是乙個常量。陣列首元素的位址和陣列的位址是相等的。c語言規定 ...