Null (編程)

维基百科,自由的百科全书
跳转至: 导航搜索

Null 在電腦程式設計上有多種含義:

Null 指標 或是 Null 引用[编辑]

Null 是一特殊指標值(或是一種 对象引用)表示這個指標並不指向任何的对象。這樣的指標稱之為 Null指標[1]。 有許多實现上是以0 (全位为0) 代表null指標,多數的CPU以此作為記憶體空間的底 (雖有些系統會使用有符号位址空間(signed address space),並允許為負值)。 一旦用null來存取其記億體,許多 作業系統會发生意外事件。 一些語言使用其他的命名方式來表示這種指標,如Pascal, Ruby 以及 Lua 則使用 nil[2],而Visual Basic 使用 NothingFortran不支援此一常數,但其屬性(property)可被設定成 NULLIFY 並由 ASSOCIATED 函數測試之。

Null 值[编辑]

在許多定義裡,Null 意指 "没有值" 或是 "未知的值"。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 字符串[编辑]

null 字符串, 也就是空字符串(empty string),是一種長度為0的字串 [3]

Null 设备[编辑]

Null 字符[编辑]

C0 的控制碼集control code set 定義於 ISO 646, ASCII, 以及 Unicode標準字元集, code value 0 是空字符(null character,NUL)。大多數的程式語言提供語法來表示這樣的字元 (例如:Pascal 使用 chr(0) 或 #0, C 以及其他衍生語言 '\0'). [3]

在一些程式語言,null字符 意指為字符串的結束。這些字串被編成ASCII字元集有時可視同 ASCIIZASCIZ 字串 — "Z" 是指字串的終點 "Zero",或 null 字符[4].

當機電電傳打字電報被用作計算機輸出設備,一個或多個NULL字符被送往在每次印刷線,以便有時間的機制,以返回到第一個印刷上的立場下一行。

Null 的变种[编辑]

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

Null 脚本 或 Null 子程序[编辑]

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

Null 账户[编辑]

在一些某些論壇或是網際網路, 使用者数据库(user database) 的毀損可能造成帳號突然顯示為「無效」(null) 會要求重設其系統.

Null函数[编辑]

Null函数en:null function)(或稱 null操作符)是一種傳回「非資料值」(no data values)的函數, 故執行後不會有任何狀態的改變。

注釋[编辑]

  1. ^ Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, Second Edition, Prentice Hall New Jersey, ISBN 0-13-110362-8, p. 102
  2. ^ Elliot B. Koffman, Pascal 3rd Edition, Addison Wesley, Reading MA, ISBN 0-201-11834-3, pp. 678-679
  3. ^ 3.0 3.1 Kernighan and Ritchie, C, p. 38
  4. ^ Kernighan and Ritchie, C, p. 30