2011-07-31 117 views
-4

以下的C或C的方面++事物請解釋:混淆空值

  • 空指針

  • 一個空指針

  • 空指針恆定的內部表示 - 0

  • NULL宏

  • ASCII空字符(NUL)

  • 空字符串(「」)。

+6

嗯......不是嗎?你的問題是什麼?這是你可以輕鬆地在網上或在良好的教科書上查看自己的東西。有什麼特別的你不明白,並希望我們澄清? 「 – Bart

+0

」「是空字符串。 –

+9

這一切都在這裏http://c-faq.com/~scs/cgi-bin/faqcat.cgi?sec=null – unkulunkulu

回答

3

空指針是一個不指向任何對象的指針。

未指定內部表示,並且不一定要全部位爲零。

值0可以轉換爲空指針。

NULL宏被定義爲可以轉換爲空指針的值,在C++中它通常只是0,在C中通常爲(void*)0,但如果實現決定如此,也可以是其他值。

NUL字符是具有值0'\0'的字符。

字符串""只是一個空字符串。

+0

FWIW,一個無效指針也是一個指向沒有對象的指針。 –

+0

是的,一個空指針也是一個無效指針。 :-) –