strlen(hello word):字符串為“hello word”這種字符串常量,系統會在其后自動補上'\0';但是求字符串長度的函數strlen()只要遇見'\0',就會返回函數值,'\0'不算在其中。所以返回值為10(空格也算一個字符)。
strlen(hello\0world):其中的字符串為“hello\0word”,而strlen函數遇到'\0'就代表結束,所以返回值為5。
注意:當用字符串給字符數組賦值時,由於要添加結束符'\0',數組的長度要比字符串的長度大1.
例如: char str[]="good job";
該數組在內存中的實際存放情況為:
g | o | o | d | j | o | b | \0 |
字符串的長度為8,數組長度為9。
'\0'是由c編譯系統自動加上的。采用了'\0'結束標志,因此在字符串賦初值時一般不用指定數組的長度,而是由系統自動分配。