C語言中的''\0",讓你透徹到底

C語言字符串末尾的''\0",很重要,它不佔字符串的實際長度,但是比如字節數爲5的時候,最後一個字節不爲\0的話,那麼輸出後的就是亂碼。
所以,最好主動在字符串末尾加\0的重要性。

但是,哪些情況可以不用加"\0"呢,編譯器會自動補上?

1,對於初始化指針,char *p="abcde";  最後不用加零,自動補上。

2, char s[]="abcd"; 對於這種未指定長度的字符數組,不用指定,編譯器會自動加上\0來結束.空間長度爲5,實際長度爲4.


有一種情況要加上的:

例如,char s[4]="abcd";這樣就有錯誤了,因爲總長度爲4,但是字符佔了4,那\0跑哪兒去了,所以會產生錯誤。


這些東西我之所以總結,在開發與測試中經常出現錯誤,字符串的處理是很重要的,都不希望看見亂碼。


看過之後,想更加深入瞭解,來我的經驗共享羣獲取更多豐厚資料:201588891, 軟件測試與開發歡迎您。
發佈了33 篇原創文章 · 獲贊 10 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章