字符串###
- C規(guī)定了一個"字符串結束標志",以字符 '/0' 代表镊绪。如果有一個字符串,其中第10個字符為'/0',則此字符串的有效字符為9個听绳。也就是說陪捷,在遇到字符'/0'時缩滨,表示字符串結束冯挎,由它前面的字符組成字符串。
- 系統(tǒng)對字符串常量也自動加一個'/0'作為結束符莽囤。
-
可以用字符串常量來初始化字符數(shù)組谬擦。
如: char c[]={"I am happy"}; 也可直接寫成: char c[]="I am happy"; 注意此時數(shù)組的長度不是10,而是11,因為系統(tǒng)自動加上了'/0'結束符
字符數(shù)組###
- 字符數(shù)組不要求最后一個字符為'/0',而為了使處理字符數(shù)組和字符串的方法一致,便于測定字符串的實際長度,能及方便在程序中處理, 在字符數(shù)組末尾也常加上一個'/0'。
- 如果一個字符數(shù)組中包含一個以上'/0'朽缎,則遇第一個'/0'時輸出就結束惨远。
二者區(qū)別###
字符數(shù)組是一個數(shù)組谜悟,每個元素的值都可以改變。而字符串指針指向的是一個常量字符串北秽,它被存放在程序的靜態(tài)數(shù)據(jù)區(qū)葡幸,一旦定義就不能改變。這是最重要的區(qū)別
對字符串指針方式:
char *ps="C Language";
可以寫為:
char *ps;
ps="C Language";
而對數(shù)組方式:
char st[]={"C Language"};
不能寫為:
char st[20];
st={"C Language"};
只能對字符數(shù)組的各元素逐個賦值贺氓。
參考文章###
C/C++——字符串和字符數(shù)組
http://blog.csdn.net/shinehoo/article/details/5823756
C語言字符串指針與字符數(shù)組的區(qū)別
http://c.biancheng.net/cpp/html/81.html