1. 程式人生 > >C語言中的字串,也叫c串

C語言中的字串,也叫c串

在C語言中,字串常量是指用一對雙撇號括起來的字元序列。如

“Hello World” ,  “CHINA" , "a"

C規定: 在每一個字串的結尾加一個”字串結束標誌“,以便系統據此判斷字串是否結束。

C規定:以字元"空操作字元“(即不引起任何控制動作,不同於空格字元)作為字串的結束符標誌,TA的ascii值為0,表示為'\0',也是一個不可顯示的字元。

C語言中,字串變數是以字元陣列儲存的(不是以字元指標或者字元指標陣列儲存的),如:

char cstr[ ] = "Hello World";   <=> char cstr[12] = "Hello World";

H e l l o W o r l d \0

所佔棧記憶體不是11個位元組,而是12個位元組,最後一個位元組為‘\0',編譯器自動加上去的。

另外也可以這樣初始化一個字串變數:

char cstr[ ] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '\0' }

strcpy strlen等等c函式都是按’\0‘ 來判斷c串是否結束的,比如:

strlen(cstr) = 13;

如果:char cstr_2[ ] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd' }, 或者 char cstr_2[11] = "Hello World";

strlen(cstr_2) = 不確定

因為這兩種賦值的結果是cstr_2都不是c串了,而是字元陣列了,說明c串只是字元陣列中的一種而已。