當前位置:名人名言大全網 - 名言警句 - 字符串加後"\0"與不加的區別?

字符串加後"\0"與不加的區別?

有可能相同,有可能不同,有可能崩潰。如果對於內存未做初始化,那麽內存內的值是隨機的。它可能包含'\0'。而C通過判斷'\0'來辨識字符串的結束。系統讀取字符串,它只是從字符數組的開始,壹直往後找,壹直找到'\0'為止。如果妳不加,系統只好再往後找,壹直找到'\0'為止。

如果在妳字符串之後正好有個'\0',那字符串就會被正確讀出。如果字符串後面隔了壹些字節後有'\0',那不用講系統除了妳的字符串還會讀出壹堆亂碼。如果系統壹直往後找,根本找不到'\0',壹直讀到了操作系統區(“禁區”),那程序就會崩潰,如果在Windows上運行,那壹定會報告那句經典的微軟名言:“該程序執行了非法操作,即將關閉。如果問題依然存在,請與程序的供應商聯系”。現在明白了吧,供應商就是妳了。