- 相關(guān)推薦
對(duì)C語言數(shù)組的總結(jié)以及實(shí)例講解
數(shù)組(Array)是一系列相同類型的數(shù)據(jù)的集合,可以是一維的、二維的、多維的;最常用的是一維數(shù)組和二維數(shù)組,多維數(shù)組較少用到。
一、對(duì)數(shù)組的總結(jié)
1) 數(shù)組的定義格式為:
type arrayName[length]
type 為數(shù)據(jù)類型,arrayName 為數(shù)組名,length 為數(shù)組長(zhǎng)度。 需要注意的是:
數(shù)組長(zhǎng)度 length 最好是整數(shù)或者常量表達(dá)式,例如 10、20*4 等,這樣在所有編譯器下都能運(yùn)行通過;如果 length 中包含了變量,例如 n、4*m 等,在某些編譯器下就會(huì)報(bào)錯(cuò)。
數(shù)組在內(nèi)存中占用一段連續(xù)的空間,數(shù)組名表示的是這段內(nèi)存空間的首地址。
2) 訪問數(shù)組中某個(gè)元素的格式為:
arrayName[index]
index 為數(shù)組下標(biāo)。注意 index 的值必須大于等于零,并且小于數(shù)組長(zhǎng)度,否則會(huì)發(fā)生數(shù)組越界,出現(xiàn)意想不到的錯(cuò)誤。
3) 可以對(duì)數(shù)組中的單個(gè)元素賦值,也可以整體賦值,例如:
// 對(duì)單個(gè)元素賦值
int a[3];
a[0] = 3;
a[1] = 100;
a[2] = 34;
// 整體賦值(不指明數(shù)組長(zhǎng)度)
float b[] = { 23.3, 100.00, 10, 0.34 };
// 整體賦值(指明數(shù)組長(zhǎng)度)
int m[10] = { 100, 30, 234 };
// 字符數(shù)組賦值
char str1[] = "http://c.biancheng.net";
// 將數(shù)組所有元素都初始化為0
int arr[10] = {0};
char str2[20] = {0};
二、數(shù)組應(yīng)用舉例
【示例1】求一個(gè)整型數(shù)組中的最大值和最小值。
#include
int main(){
int a[10] = {0}, max, min, i;
//從控制臺(tái)獲取用戶輸入并賦值給數(shù)組元素
for(i=0; i<10; i++){
scanf("%d", &a[i]);
}
//假設(shè)a[0]是最大值也是最小值
max = a[0], min = a[0];
for(i=1; i<10; i++){
if(a[i] > max){
max = a[i];
}
if(a[i] < min){
min = a[i];
}
}
printf("The max is %d, The min is %d\n", max, min);
return 0;
}
運(yùn)行結(jié)果:
2 123 45 100 575 240 799 710 10 90↙
The max is 799, The min is 2
這段代碼有兩點(diǎn)需要說明:
1) 從控制臺(tái)獲取數(shù)組元素時(shí),我們一次性輸入10個(gè)整數(shù)才按下回車鍵,而不是每輸入一個(gè)整數(shù)就按一次回車鍵,這正是利用了標(biāo)準(zhǔn)輸入緩沖區(qū)。
2) 要想求得數(shù)組中的最大值和最小值,就得循環(huán)比較數(shù)組中的所有元素,并設(shè)置兩個(gè)變量 max 和 min 來接收。以最大值為例,開始循環(huán)之前,先假設(shè)第0個(gè)元素是最大值(當(dāng)然你也可以假設(shè)第1、2、3 個(gè)元素),然后用 max 和數(shù)組中剩余的元素進(jìn)行比較,如果某個(gè)元素的值比 max 大,就用這個(gè)元素的值替換 max 的值,等把所有元素遍歷完了,max 中就是最大值了。
關(guān)于排序和查找:
學(xué)完了數(shù)組,有兩個(gè)重要的知識(shí)點(diǎn)要求大家掌握,那就是排序(Sort)和查找(Search),比如:
給你 10 個(gè)打亂順序的整數(shù),要能夠按照從小到大或者從大到小的順序輸出;
給定一個(gè)字符串 str1,以及一個(gè)子串 str2,要能夠判斷 str2 是否在 str1 中。
【對(duì)C語言數(shù)組的總結(jié)以及實(shí)例講解】相關(guān)文章:
C語言數(shù)組實(shí)例解析10-21
什么是C語言數(shù)組10-03
C語言數(shù)組教程08-31
C語言數(shù)組方法08-06
C語言數(shù)組的定義及引用08-05
C語言數(shù)組是什么08-25
C語言數(shù)組知識(shí)點(diǎn)總結(jié)10-17