重新認識字符串和字符型數據

       很多時候我們常把字符串和字符型數據的存儲形式和使用方法搞混淆,在學習過程中,我慢慢體會到他們之間的區別了,以下是我的一點點總結。

        我們都知道,在c中,字符常量是用單引號括起來的一個字符(佔1個字節),字符型變量也是用來存放字符常量,而且只能存放一個字符。比方:char c1='a';

如果想要存放多個字符,只能通過字符串來處理,同時,字符串常量使用一對雙引號括起來的多個字符,並且每一個字符串的結尾自動默認加一個”字符串結束標誌“,即”\0"。如:char str[9]="zhongguo".

       關於字符數據的存儲,它是以ASCII碼存儲的,因此字符數據和整形數據之間的轉換就很方便了,進一步說明了一個字符數據既可以用字符形式來輸出,也可以用整形形式輸出.如:

char c1='a';
printf("%c",c1);  或者
printf("%d",c1);

       對於字符串的使用,從前面可以看出,只能通過字符數組來存放。同時在前面也提到過,系統都會給每一個字符串的結尾自動默認加一個"空操作符“,即”\0"。因此他的實際長度都是由被存儲的字符串的字符數目加上1。比方說:char str[5]="中國";在定義這個字符串時,字符數組的長度必須用大於等於5才能裝下“中國”,因爲一個漢字佔兩個字符。對字符串賦初值,我個人覺得有兩種方法:

       首先可以在定義存放字符串的變量時,直接額給變量賦初值,如:char str[ ] ="中國";char str[]="中國"。

       其次也可以通過strcpy函數來賦初值,比方:

char str[5];
strcpy(str,"中國");

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章