我之前上 stackoverflow 查证过字符串的结尾是'0'-terminate啊, 如下引用. 但是今天查 string 的, 上面图片里的官方文档的说法又都变成了 null-terminated
了. 希望大家解答下, 谢谢
‘0’ terminate a string, not NULL, the NULL macro isn’t intended for use in terminating strings.----(左边包含了链接)
高洛峰2017-04-17 15:25:44
null-terminated
のいわゆる null
は、ASCII 文字セットの NUL
を参照する必要があり、そのエンコーディングは数値 0 であり、C 言語では ' '
です。これは本質的には char
です。 。
C 言語では、NULL
マクロはヌル ポインター、つまり ((void*)0)
ポインター 型である を参照します。
この 2 つは異なるタイプであり、本質的に異なる概念であり、異なる用途があります。
あなたが引用した stackoverflow
の元の投稿では、この問題について議論されているはずです。