字符串數組的定義是什么 字符串數組是怎樣輸入
發(fā)布時(shí)間:2022-05-23 09:00
來(lái)源:新網(wǎng)知識社區
閱讀:126
作者:新網(wǎng)知識社區
欄目: 虛擬主機
歡迎投稿:712375056
為什么說(shuō)一入技術(shù)深似海,因為他們要懂的,要記的東西遠比其中一個(gè)職業(yè)多很多。接下來(lái)小編給大家分析下字符串數組的定義是什么?字符串數組是怎樣輸入輸出的?
??字符串數組的定義是什么
??用來(lái)存放字符
數據的數組稱(chēng)為字符數組。字符數組中的一個(gè)元素存放一個(gè)字符。定義字符數組的方法與定義數值型數組的方法類(lèi)似。
??其定義的一般形式是:char 數組名[數據長(cháng)度]
??例如:
??char c[10];
??c[0]='I'; c[1]=' '; c[2]='l'; c[3]='o'; c[4]='v'; c[5]='e'; c[6]=' '; c[7]='y'; c[8]='o'; c[9]='u';
??以上定義了c為字符數組,包含10個(gè)元素。
??由于字符型數據是以整數形式(ASCII代碼)存放的,因此也可以用整型數組來(lái)存放字符數據,例如:int c[10];
??但這時(shí)每個(gè)數組元素占2個(gè)字節的內存單元,浪費存儲。
??字符數組也可以是二維或多維數組,例如:char c[5][10];
??即為二維字符數組。
??字符串數組是怎樣輸入輸出的
??1.字符數組的輸入
??(1)用getchar()或scanf()的'%c'格式符對數組進(jìn)行字符賦值。例如,對于數組a[10]:用getchar()賦值:
??for(i=0;i
??a[i]=getchar();
??用scanf()賦值:
??for(i=0;i
??scanf("%c",&a[i]);
??(2)用scanf()的'%s'格式對數組賦值。還是對于數組a[10]:
??scanf("%s",a);
??或
??scanf("%s“,&a[0]);
??輸入”C program“并回車(chē)時(shí),a數組會(huì )自動(dòng)包含一個(gè)以”\0“結尾的字符串”C program“。
??2.字符數組的輸出
??(1)用putchar()或printf()的‘%c’格式符對數組進(jìn)行字符賦值。例如,對于數組a[10]:用putchar()賦值:
??for(i=0;i
??a[i]=putchar();
??用printf()賦值:
??for(i=0;i
??printf("%c",a[i]);
??輸出結果為:
??c program
??(2)用printf()的'%s'格式對數組賦值。還是對于數組a[10];
??printf("%s",a);
??輸出結果為:
??c program
字符串數組的定義是什么 字符串數組是怎樣輸入輸出的
字符串數組
??字符串數組初始化
??字符數組的初始化與數值型數組初始化沒(méi)有本質(zhì)區別。但它除了可以逐個(gè)給數組元素賦予字符外,也可以直接用字符串對其初始化。
??(1)用字符常量逐個(gè)初始化數組。例如:
??char a[8]={'i','l','o','v','e','y','o','u'};
??把8個(gè)字符依次分別賦給c[0]~c[7]這8個(gè)元素。
??如果在定義字符數組時(shí)不進(jìn)行初始化,則數組中各元素的值是不可預料的。如果花括號中提供的初值個(gè)數(即字符個(gè)數)大于數組長(cháng)度,則出現語(yǔ)法錯誤。如果初值個(gè)數小于數組長(cháng)度,則只將這些字符賦給數組中前面那些元素,其余的元素自動(dòng)定為空字符(即'\0')。如果提供的初值個(gè)數與預定的數組長(cháng)度相同,在定義時(shí)可以省略數組長(cháng)度,系統會(huì )自動(dòng)根據初值個(gè)數確定數組長(cháng)度。例如:
??char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};
??這時(shí)c數組的長(cháng)度自動(dòng)定為9。
??也可以定義和初始化一個(gè)二維字符數組,例如:
??char diamond[5][5]={{' ',' ','#'},{' ','#',' ','#'},
??{'#',' ',' ',' ','#'},{' ','#',' ','#'},{' ',' ','#'}};用它代表一個(gè)菱形的平面圖形。
??(2)字符串常量初始化數組。例如:
??char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};
??可寫(xiě)為:
??char c[ ]={"C program"};
??或去掉{}寫(xiě)為:
??char c[ ]="C program";
??注意:此時(shí)數組c的長(cháng)度不是9,而是10。因為字符串常量的最后由系統加上一個(gè)'\0'。上面的初始化與下面的初始化等價(jià)。
??char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m','\0'}。
??字符串數組的定義是什么、字符串數組是怎樣輸入輸出的都看清楚了吧!看完是不是覺(jué)得技術(shù)這門(mén)工作很不容易呢!如果喜歡這篇文章,來(lái)特網(wǎng)關(guān)注下吧!