Search results
Results From The WOW.Com Content Network
In computing, a null pointer or null reference is a value saved for indicating that the pointer or reference does not refer to a valid object. Programs routinely use null pointers to represent conditions such as the end of a list of unknown length or the failure to perform some action; this use of null pointers can be compared to nullable types ...
For example, in Java, any class that implements the Comparable interface has a compareTo method which either returns a negative integer, zero, or a positive integer, or throws a NullPointerException (if one or both objects are null). Similarly, in the .NET framework, any class that implements the IComparable interface has such a CompareTo method.
To expose dangling pointer errors, one common programming technique is to set pointers to the null pointer or to an invalid address once the storage they point to has been released. When the null pointer is dereferenced (in most languages) the program will immediately terminate—there is no potential for data corruption or unpredictable behavior.
Dereferencing a null pointer and then assigning to it (writing a value to a non-existent target) also usually causes a segmentation fault: int * ptr = NULL ; * ptr = 1 ; The following code includes a null pointer dereference, but when compiled will often not result in a segmentation fault, as the value is unused and thus the dereference will ...
Speaking at a software conference in 2009, Tony Hoare hyperbolically apologized for inventing the null reference: [25] [26] I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language . My goal was to ...
In object-oriented computer programming, a null object is an object with no referenced value or with defined neutral (null) behavior.The null object design pattern, which describes the uses of such objects and their behavior (or lack thereof), was first published as "Void Value" [1] and later in the Pattern Languages of Program Design book series as "Null Object".
A null pointer has a value reserved for indicating that the pointer does not refer to a valid object. Null pointers are routinely used to represent conditions such as the end of a list of unknown length or the failure to perform some action; this use of null pointers can be compared to nullable types and to the Nothing value in an option type.
According to the Java spec, any attempt to dereference the null reference must result in an exception being thrown at run-time, specifically a NullPointerException. (It would not make sense to dereference it otherwise, because, by definition, it points to no object in memory.)