字符串數組的定義是什么 字符串數組是怎樣輸入輸出的
分類:虛機資訊
編輯:
瀏覽量:100
2021-06-22 11:09:22
為什么說一入技術深似海,因為他們要懂的,要記的東西遠比其中一個職業多很多。接下來新網小編給大家分析下字符串數組的定義是什么?字符串數組是怎樣輸入輸出的?
??字符串數組的定義是什么
??用來存放字符數據的數組稱為字符數組。字符數組中的一個元素存放一個字符。定義字符數組的方法與定義數值型數組的方法類似。
??其定義的一般形式是:char 數組名[數據長度]
??例如:
??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個元素。
??由于字符型數據是以整數形式(ASCII代碼)存放的,因此也可以用整型數組來存放字符數據,例如:int c[10];
??但這時每個數組元素占2個字節的內存單元,浪費存儲空間。
??字符數組也可以是二維或多維數組,例如:char c[5][10];
??即為二維字符數組。
??字符串數組是怎樣輸入輸出的
??1.字符數組的輸入
??(1)用getchar()或scanf()的'%c'格式符對數組進行字符賦值。例如,對于數組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“并回車時,a數組會自動包含一個以”\0“結尾的字符串”C program“。
??2.字符數組的輸出
??(1)用putchar()或printf()的‘%c’格式符對數組進行字符賦值。例如,對于數組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
字符串數組的定義是什么 字符串數組是怎樣輸入輸出的
字符串數組
??字符串數組初始化
??字符數組的初始化與數值型數組初始化沒有本質區別。但它除了可以逐個給數組元素賦予字符外,也可以直接用字符串對其初始化。
??(1)用字符常量逐個初始化數組。例如:
??char a[8]={'i','l','o','v','e','y','o','u'};
??把8個字符依次分別賦給c[0]~c[7]這8個元素。
??如果在定義字符數組時不進行初始化,則數組中各元素的值是不可預料的。如果花括號中提供的初值個數(即字符個數)大于數組長度,則出現語法錯誤。如果初值個數小于數組長度,則只將這些字符賦給數組中前面那些元素,其余的元素自動定為空字符(即'\0')。如果提供的初值個數與預定的數組長度相同,在定義時可以省略數組長度,系統會自動根據初值個數確定數組長度。例如:
??char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};
??這時c數組的長度自動定為9。
??也可以定義和初始化一個二維字符數組,例如:
??char diamond[5][5]={{' ',' ','#'},{' ','#',' ','#'},
??{'#',' ',' ',' ','#'},{' ','#',' ','#'},{' ',' ','#'}};用它代表一個菱形的平面圖形。
??(2)字符串常量初始化數組。例如:
??char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};
??可寫為:
??char c[ ]={"C program"};
??或去掉{}寫為:
??char c[ ]="C program";
??注意:此時數組c的長度不是9,而是10。因為字符串常量的最后由系統加上一個'\0'。上面的初始化與下面的初始化等價。
??char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m','\0'}。
??字符串數組的定義是什么、字符串數組是怎樣輸入輸出的都看清楚了吧!看完是不是覺得技術這門工作很不容易呢!如果喜歡這篇文章,來新網關注下吧!
??字符串數組的定義是什么
??用來存放字符數據的數組稱為字符數組。字符數組中的一個元素存放一個字符。定義字符數組的方法與定義數值型數組的方法類似。
??其定義的一般形式是:char 數組名[數據長度]
??例如:
??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個元素。
??由于字符型數據是以整數形式(ASCII代碼)存放的,因此也可以用整型數組來存放字符數據,例如:int c[10];
??但這時每個數組元素占2個字節的內存單元,浪費存儲空間。
??字符數組也可以是二維或多維數組,例如:char c[5][10];
??即為二維字符數組。
??字符串數組是怎樣輸入輸出的
??1.字符數組的輸入
??(1)用getchar()或scanf()的'%c'格式符對數組進行字符賦值。例如,對于數組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“并回車時,a數組會自動包含一個以”\0“結尾的字符串”C program“。
??2.字符數組的輸出
??(1)用putchar()或printf()的‘%c’格式符對數組進行字符賦值。例如,對于數組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
字符串數組的定義是什么 字符串數組是怎樣輸入輸出的
字符串數組
??字符串數組初始化
??字符數組的初始化與數值型數組初始化沒有本質區別。但它除了可以逐個給數組元素賦予字符外,也可以直接用字符串對其初始化。
??(1)用字符常量逐個初始化數組。例如:
??char a[8]={'i','l','o','v','e','y','o','u'};
??把8個字符依次分別賦給c[0]~c[7]這8個元素。
??如果在定義字符數組時不進行初始化,則數組中各元素的值是不可預料的。如果花括號中提供的初值個數(即字符個數)大于數組長度,則出現語法錯誤。如果初值個數小于數組長度,則只將這些字符賦給數組中前面那些元素,其余的元素自動定為空字符(即'\0')。如果提供的初值個數與預定的數組長度相同,在定義時可以省略數組長度,系統會自動根據初值個數確定數組長度。例如:
??char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};
??這時c數組的長度自動定為9。
??也可以定義和初始化一個二維字符數組,例如:
??char diamond[5][5]={{' ',' ','#'},{' ','#',' ','#'},
??{'#',' ',' ',' ','#'},{' ','#',' ','#'},{' ',' ','#'}};用它代表一個菱形的平面圖形。
??(2)字符串常量初始化數組。例如:
??char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};
??可寫為:
??char c[ ]={"C program"};
??或去掉{}寫為:
??char c[ ]="C program";
??注意:此時數組c的長度不是9,而是10。因為字符串常量的最后由系統加上一個'\0'。上面的初始化與下面的初始化等價。
??char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m','\0'}。
??字符串數組的定義是什么、字符串數組是怎樣輸入輸出的都看清楚了吧!看完是不是覺得技術這門工作很不容易呢!如果喜歡這篇文章,來新網關注下吧!
聲明:免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發
送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。本站原創內容未經允許不得轉載,或轉載時
需注明出處:新網idc知識百科