C語言字符串末尾的''\0",很重要,它不佔字符串的實際長度,但是比如字節數爲5的時候,最後一個字節不爲\0的話,那麼輸出後的就是亂碼。
所以,最好主動在字符串末尾加\0的重要性。
但是,哪些情況可以不用加"\0"呢,編譯器會自動補上?
1,對於初始化指針,char *p="abcde"; 最後不用加零,自動補上。
2, char s[]="abcd"; 對於這種未指定長度的字符數組,不用指定,編譯器會自動加上\0來結束.空間長度爲5,實際長度爲4.
有一種情況要加上的:
例如,char s[4]="abcd";這樣就有錯誤了,因爲總長度爲4,但是字符佔了4,那\0跑哪兒去了,所以會產生錯誤。
這些東西我之所以總結,在開發與測試中經常出現錯誤,字符串的處理是很重要的,都不希望看見亂碼。