Null (computer programming)

From Wikipedia, the free encyclopedia

Null has several meanings in computer programming.

Null pointer or null reference
  • Null is a special pointer value (or other kind of object reference) used to signify that a pointer intentionally does not point to (or refer to) an object. Such a pointer is called a null pointer.[1] Many implementations use a value of 0 (all bits zero) to represent the null pointer, as this is at the bottom of the address space of most CPUs (although some architectures use a signed address space and use the most negative value). Many operating systems generate an exception when an attempt is made to access this memory address. Some languages use other nomenclature for such a pointer, e.g., Pascal and Ruby use nil[2], while Visual Basic uses Nothing. Fortran does not consider it a constant, but a property that can be set by the NULLIFY directive and tested by the ASSOCIATED function.
Null value
  • In many disciplines, the concept of null allows a three-valued logic, with null indicating "no value" or an "unknown value". The SQL database query language uses Null in this way, as do Visual Basic and its derivatives. In this model, an expression that depends on the value of a Null operand will evaluate to Null (VB) or "unknown" (SQL). So, for any A, the expressions "A = Null" and "A <> Null" are neither true nor false. However, the boolean operation "A and False" produces false, and similarly "A or True" is true, even when A is Null, because these expressions do not depend on the value of A. (Some SQL implementations may consider A = Null to be "true" if A is Null; see Null (SQL)).
Null string
Null device
  • In UNIX systems, /dev/null (also referred to as the black hole or bit bucket) is a special file that delivers no input when read from and discards all output when written to. The NUL device has similar functionality in DOS and Windows. On AmigaOS it is known as the NIL: device.
  • In Windows XP, null device is a file in system32/drivers, named Null.sys, the size is 2944 bytes. It can be seen in device manager, non-plug-and-play group.
Null character
  • In some programming languages, the null character denotes the end of a character string. Such strings that are encoded with the ASCII character set are sometimes referred to as ASCIIZ or ASCIZ strings — the "Z" indicating that the string ends with a "Zero", or null character[5].
  • When electromechanical teleprinters were used as computer output devices, one or more null characters were sent at the end of each printed line to allow time for the mechanism to return to the first printing position on the next line.
Null variant
  • Some programming languages (such as LISP; Ruby; and Pascal, Delphi, and other languages based on Pascal) use nil for the null variant, which can sometimes lead to confusing errors if null is accidentally used instead of nil.
Null script / null subroutine
Null Account
  • On certain forums and other internet sites, user database corruption might cause user accounts to suddenly show up as "null" and have all their settings reset. Generally this will remove the user's ability to add new content to the site.

[edit] References

  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. ^ Kernighan and Ritchie, C, p. 38
  4. ^ Kernighan and Ritchie, C, p. 38
  5. ^ Kernighan and Ritchie, C, p. 30