Null (computer)
From Wikipedia, the free encyclopedia
| This article does not cite any references or sources. (November 2007) Please help improve this article by adding citations to reliable sources. Unverifiable material may be challenged and removed. |
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 (e.g., the INMOS Transputer has a signed address space and uses 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 uses
nil. [2]
- Null value
- In many disciplines, the concept of null allows a three-valued logic, with null indicating "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 the C0 control code set defined in the ISO 646, ASCII, and Unicode character set standards, code value 0 is the null character (NUL). Most programming languages provide syntax for representing this character as a literal value (e.g., Pascal uses chr(0) or #0, C and its many derivatives use '\0'). [4]
- 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
nilfor the null variant, which can sometimes lead to confusing errors ifnullis accidentally used instead ofnil.
- Null script
- Known throughout the software pirating community, a command script which has all callback and license-checking code removed.
- Null Account
- On certain forums and other internet sites, user accounts may 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, but it is usually fixed within a short period of time. A person whose account goes to "null" is commonly said to have been attacked by the "null monster", a fictional character used to describe the "null" phenomenon.
- ^ Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, Second Edition, Prentice Hall New Jersey, ISBN 0-13-110362-8, page 102
- ^ Elliot B. Koffman,Pascal 3rd Edition, Addison Wesley, Reading MA,ISBN 0-201-11834-3, page 678-679
- ^ Kernighan and Ritchie C, pg. 38
- ^ Kernighan and Ritchie C, pg. 38
- ^ Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, Second Edition, Prentice Hall New Jersey, ISBN 0-13-110362-8, page 30