怎么樣定義一個字符串變量?
C語言沒有字符串類型,所以沒辦法進行定義字符串變量。
但是可以用字符數組來處理字符串。(這定義了一個字符數組,名為a)
例:char a[] = "hello";
也可以用來定義一個指針變量(定義了一個指針變量,名為p)。
例:char *p = "hello";
C語言中沒有專門的字符串變量,如果要將一個字符串存放在變量中,必須使用字符數組,即用一個字符型數組來存放一個字符串,數組中每一個元素存放一個字符。
定義: char c[10]
字符型與整型互相通用,因此 int c[10] 也可以定義字符數組。但由于兩種類型分配字節不同, 用整型來定義會浪費空間, 另外這樣定義實際意義也不大, 只是為了說明其合法性。
最簡單的方法即逐個賦值: char c[10]={'I', ' ', 'a', 'm', ' ', 'h', 'a', 'p', 'p', 'y'}; 10個字符分別賦紿c[0]到c[9]10個元素。
初值個數小于數組長度,則只將這些字符賦紿數組中前面的元素,其余元素自動定為空字符(即'\0')。
可以用字符串常量來初始化字符數組;
char c[]="I am happy"; 注意此時數組的長度不是10,而是11,因為系統自動加上了'\0'
結束符。
<3> 字符數組的輸入輸出
(1) 逐個字符輸入輸出。用格式符"%c"輸入或輸出一個字符。
(2) 將整個字符串一次輸入或輸出。用"%S"格式符,意思是輸出字符串(String)。例如:
char c[]={"china"};
printf("%S", c);
如果一個字符數組中包含一個以上'\0',則遇第一個'\0'時輸出就結束。
(4) 用%S格式輸入字符時,遇空格、Tab鍵和回車將自動結束輸入。