NULL值

一種特殊指標值

Null 是一特殊指標值(或是一種物件參照 reference)表示這個指標並不指向任何的物件。

指標介紹


Null pointer 或是 null reference
這樣的指標稱之為 null pointer。[1] 有許多實作上是以0 (all bits zero) 代表null pointer,多數的CPU以此作為內存空間的底 (雖有些系統會使用有記號位址空間(signed address space),並允許為負值a). 許多 操作系統會造成例外事件一旦用null來存取其記億體. 一些語言使用其他的 nomenclature 來表示這種指標,像是,Pascal, Ruby 以及 Lua 則使用 nil[2],當Visual Basic 使用 Nothing。Fortran不支援此一常數,但其屬性(property)可被設定成 NULLIFY 並由 ASSOCIATED 函數測試。

空值


Null value
在許多定義里,null 可以是 three-valued logic, with null 意指 "no value" 或是 "unknown value"。SQL資料庫查詢語言使用 null 在這種地方上,如同在Visual Basic 及其衍生語言。於此模型上, null operand 等同於 null (VB) or "unknown" (SQL). 故對於A而言, 算式 "A == null" 與 "A <> null" 既非 true 亦非 false。然而,布林運算 "A and false" 產生 false,且類似 "A or true" 是真 true,甚至當 A 是 null,因為這個算式並非代表在 A的值域之上。另一算式 "A is null" 和 "A is not null" 都是正確的方法,皆可用來測試 SQL 中的null value,一些 SQL 可實作為 A == null 可以是 "true" ,如果 A 是 null; 詳見 Null (SQL)。

空字串


Null string 或empty string
null string, 也就是空字串(empty string),是一種長度為0的字串。

虛擬裝置


Null device
虛擬裝置(device-like entity)並不提供輸入亦不支援輸出。在UNIX系統中,會被標示為特別檔(special file) /dev/null (亦可視之為黑洞或 en:bit bucket)。DOS 與 Windows,代表著一種NUL 裝置。AmigaOS則是以 NIL: 代表虛擬裝置。

字元結束


Null character
在C0 的控制碼集control code set 定義於 ISO 646, ASCII, 以及 Unicode標準字符集, code value 0 是空字元(null character,NUL)。大多數的編程語言提供語法來表示這樣的字元 (例如:Pascal 使用 chr(0) 或 #0, C 以及其他衍生語言 '\0'). [3] 在一些編程語言,null character 意指為字元字串string的結束。這些字串被編成ASCII字符集有時可視同 ASCIIZ 或 ASCIZ 字串 — "Z" 是指字串的終點 "Zero",或 null character[4]. 當機電電傳打字電報被用作計算機輸出設備,一個或多個NULL字元被送往在每次印刷線,以便有時間的機制,以返回到第一個印刷上的立場下一行。

空變數


Null variant
一些編程語言(像是 LISP; Ruby; 和 Pascal, Delphi, 以及其他基於 Pascal發展的語言)使用 nil 來表示Null變數,這有時會導致混淆。

空數值


Null script / null subroutine
command script 或 program subroutine 不做任何事, 但回傳個常數值。稱為存根函數或 "stubroutine", 通常使用於 program development, 此處的功能執行常式被推遲。這種技術常被用於防盜版。目標程式會被反組譯disassembled。

無效


Null account
在一些某些論壇或是網際網路, 使用者資料庫(user database)的毀損可能造成帳號突然顯示為“無效”(null)會要求重設其系統.

非資料值


Null function
null function(或稱 null operator)是一種傳回“非資料值”(no data values)的函數, 故執行后不會有任何狀態的改變。