NULL
是什麼?
NULL
是一個指向內存地址 0 的特殊常量。按照慣例,它通常被用來表示空值或無數據。在上面的代碼中,我們使用NULL
來表示雖然我們有一個數據指針,但它目前還沒有指向任何內容。在本書的後續章節中你講經常性地遇到這個特殊的常量,所以,請眼熟它。
爲什麼要使用
strlen(s) + 1
?在 C 語言中,字符串是以空字符做爲終止標記的。所以,C 語言字符串的最後一個字符一定是
\0
。請確保所有的字符串都是按照這個約定來存儲的,不然程序就會因爲莫名其妙的錯誤退出。strlen
函數返回的是字符串的實際長度(所以不包括結尾的\0
終止符)。所以爲了保證有足夠的空間存儲所有字符,我們需要在額外 +1。