#035 | ydanneg | new nullpointer exception ()

Zimmer035 - Y.danneg - new NullpointerException

Zimmer035 – Ydanneg – new NullpointerException () (Estonia)
mp3, 192kbps, stereo, 75MB, techno, tool, tribal

035.01 – Y.Danneg – kromizm*
035.02 – Y.Danneg – struktur
035.03 – Y.Danneg – integral
035.04 – Y.Danneg – africana n1
035.05 – Y.Danneg – africana n2
035.06 – Y.Danneg – cosinus
035.07 – Y.Danneg – untitled04
035.08 – Y.Danneg – emotions
035.09 – Y.Danneg – slut
035.10 – Y.Danneg – loop works v1.01
*= originally released on www.foem.info

download & stream -> archive.org
download & stream -> sonicsquirrel.net
download & stream -> last.fm

download ZIP (MP3 | 75MB)

Artwork (666px)
[by nadrealizam]

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.

Null pointers are often considered similar to null values in relational databases, but they have somewhat different semantics. A null pointer in most programming languages means “no value”, while a null value in relational database means “unknown value”. This leads to important differences in practice: two null pointers are considered equal in most programming languages, but two null values in relational databases are not (since they represent unknown values, it is unknown whether they are equal).

In some programming language environments (at least one proprietary Lisp implementation, for example), the value used as the null pointer (called nil in Lisp) may actually be a pointer to a block of internal data useful to the implementation (but not explicitly reachable from user programs), thus allowing the same register to be used as a useful constant and a quick way of accessing implementation internals. This is known as the nil vector.

In C, two null pointers of any type are guaranteed to compare equal. The macro NULL is defined as an implementation-defined null pointer constant, which in C99 can be portably expressed as the integer value 0 converted implicitly or explicitly to the type void*.

Dereferencing the NULL pointer typically results in an attempted read or write from memory that is not mapped – triggering a segmentation fault or access violation. This may represent itself to the developer as a program crash, or be transformed into an exception that can be caught. There are, however, certainly circumstances where this is not the case. For example, in x86-real mode, the address 0000:0000 is readable and usually writable, hence dereferencing the null pointer is a perfectly valid but typically unwanted action that may lead to undefined but non-crashing behaviour in the application. Note also that there are occasions when dereferencing the NULL is intentional and well defined; for example BIOS code written in C for 16-bit real-mode x86 devices may write the IDT at physical address 0 of the machine by dereferencing a NULL pointer for writing.  //wikipedia