6.10 這有點奇怪。NULL 可以確保是 0, 但空 (null) 指針卻不一定?

隨便使用術語 ``null" 或 ``NULL" 時, 可能意味著以下一種或幾種含義:
  1. 概念上的空指針, 問題 5.1 定義的抽像語言概念。它使用以下的 東西實現的 ……
  2. 空指針的內部 (或運行期) 表達形式, 這可能並不是全零, 而且對不用的指針 類型可能不一樣。真正的值只有編譯器開發者才關心。C 程序的作者永遠看不到 它們, 因為他們使用 ……
  3. 空指針常數, 這是一個常整數 0 (參見問題 5.2)。它通常隱藏在  ……
  4. NULL 宏, 它被定義為 0 (參見問題 5.4)。最後轉移我們注意力到  ……
  5. ASCII 空字符 (NUL), 它的確是全零, 但它和空指針除了在名稱上以外, 沒有任何必然關係; 而……
  6. ``空串" (null string), 它是內容為空的字符串 ("")。在 C 中 使用空串這個術語可能令人困惑, 因為空串包括空字符 ('\0'),但 包括空指針, 這讓我們繞了一個完整的圈子 ……

本文用短語 ``空指針" (``null pointer", 小寫) 表示第一種含義, 標識 ``0"  或短語 ``空指針常數" 表示含義 3, 用大寫 NULL 表示含義 4。

翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)