
類型符 數(shù)組名[常量表達(dá)式];常量和符號(hào)常量,不能包含變量,也就是說,C語言不允許對(duì)數(shù)組的大小作動(dòng)態(tài)定義,即數(shù)組的大小不依賴于程序運(yùn)行過程中變量的值。int a[3+5]; //合法
int n;
scanf("%d",&n);
int a[n]; //不合法#includeint main(){int nums[10];
for(int i=0;i<10;i++){scanf("%d",&nums[i]);
}
return 0;
} 0 NULL '\0'//1、定義數(shù)組時(shí),對(duì)全部數(shù)組元素賦初值。
int a[10]={0,1,2,3,4,5,6,7,8,9};
//2、只給數(shù)組中部分元素賦值,系統(tǒng)自動(dòng)給剩余元素賦初值為0.
int a[10]={0,1,2,3,4};
//3、在對(duì)數(shù)組賦初值時(shí),由于數(shù)據(jù)個(gè)數(shù)已經(jīng)確定,因此可以不指定數(shù)組長度。
int a[5]={1,2,3,4,5};
可以寫成
int a[]={1,2,3,4,5};二維數(shù)組數(shù)組名 [常量表達(dá)式][常量表達(dá)式];int a[3][4];//行下標(biāo)范圍[0,2] 列下標(biāo)范圍[0,3];
a[3][4]=3;//錯(cuò)誤,不存在a[3][4]元素1、分行給二維數(shù)組賦初值
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
2、將數(shù)據(jù)都寫在一個(gè)括號(hào)內(nèi),按數(shù)組元素在內(nèi)存中的排列順序?qū)Ω髟刭x初值
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
3、可以對(duì)部分元素賦初值
int a[3][4]={{1},{2},{3}};
等價(jià)于->int a[3][4]={{1,0,0,0},{2,0,0,0},{3,0,0,0}};
int a[3][4]={{1},{2},{}};
等價(jià)于->int a[3][4]={{1,0,0,0},{2,0,0,0},{0,0,0,0}};
4、如果對(duì)全部元素賦初值,則定義數(shù)組時(shí)對(duì)第一維長度可以不指定,但第二維長度必須指定。
int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
5、在定義時(shí),也可以只對(duì)部分元素賦初值而省略第一維的長度,但應(yīng)分行賦值。
int a[][4]={{0,0,3},{},{0,10}};//編譯系統(tǒng)判斷數(shù)組有3行4列字符數(shù)組int c[10];
c[0]='a';//合法char c[10]={'a','b','c'};//其余未初始化的元素值為空字符('\0')int main(){char c[10]={'I',' ','a','m','a','g','i','r','l','!'};
for(int i=0;i<10;i++){printf("%c",c[i]);
}
printf("\n");
return 0;
}字符串定義:在C語言中,將字符串作為字符數(shù)組來處理,字符串中的字符是逐個(gè)存放在字符數(shù)組元素中的。
字符串結(jié)束標(biāo)志:空字符'\0'
'\0'作為結(jié)束標(biāo)志。如果字符數(shù)組中存在若干字符,前面9個(gè)字符都不是空字符,而第10個(gè)字符是空字符,則認(rèn)為數(shù)組中有一個(gè)字符串,其有效字符為9個(gè)。也就是說,在遇到空字符時(shí),表示字符串結(jié)束,把它前面的字符組成一個(gè)字符串。"C program"共有9個(gè)字符。字符串是存放在一維數(shù)組中的,在數(shù)組中它占10個(gè)字節(jié),最后一個(gè)空字符是系統(tǒng)自動(dòng)加上的。'\0',可以不包含空字符。初始化字符串
1、用字符串常量來初始化字符數(shù)組
char c[]={"I am happy!"};
char c[]="I am happy!";
等價(jià)于->char c[]={'I',' ','a','m','','h','a','p','p','y','\0'};
不等價(jià)于->char c[]={'I',' ','a','m','','h','a','p','p','y'};%c%schar c[]={"China"};
scanf("%s",c);
printf("%s\n",c);//輸出的字符串不包括空字符
//利用一個(gè)scanf函數(shù)輸入多個(gè)字符串,則應(yīng)在輸入時(shí)以空格分隔,系統(tǒng)把空格字符作為輸入的字符串之間的分隔符
char str1[4],str2[5],str3[6];
scanf("%s%s%s",str1,str2,str3);
輸入數(shù)據(jù):How are you?#include)puts函數(shù)——輸出字符串puts(字符數(shù)組名);gets函數(shù)——輸入字符串,并且得到一個(gè)函數(shù)值,該函數(shù)值是字符數(shù)組的起始地址。gets(字符數(shù)組名);puts和gets只能輸出輸入一個(gè)字符串char ch=getchar();putchar(ch);strcat函數(shù)——字符串連接函數(shù),結(jié)果放在字符數(shù)組1中,連接時(shí),系統(tǒng)自動(dòng)將字符數(shù)組1中的空字符取消,得到字符數(shù)組1的地址。strcat(字符數(shù)組1,字符數(shù)組2);strcpy函數(shù)——字符串復(fù)制函數(shù),將字符串2復(fù)制到字符數(shù)組1中去。字符數(shù)組1必須是數(shù)組名形式,字符串2可以是數(shù)組名,也可以是字符串常量。strcpy(字符數(shù)組1,字符串2);strncpy函數(shù)——將字符串2前面的n個(gè)字符復(fù)制到字符數(shù)組1中去。strncpy(字符數(shù)組1,字符串2,n);strcmp(字符串1,字符串2);strlen函數(shù)——測字符串長度的函數(shù),函數(shù)值為字符串實(shí)際長度,不包含空字符。也可以直接測字符串常量的長度。strlen(字符數(shù)組);strlwr(字符串);strupr(字符串);你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站標(biāo)題:C語言數(shù)組-創(chuàng)新互聯(lián)
瀏覽地址:http://chinadenli.net/article44/digdhe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、品牌網(wǎng)站制作、響應(yīng)式網(wǎng)站、云服務(wù)器、外貿(mào)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容