Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
compare webbrowser
Freenet DSL
Who's Online
11 user(s) are online (10 user(s) are browsing encyclopedia)

Members: 0
Guests: 11

more...
browser tip
Unix Befehle
manual of unix befehle
recommendation!
Sponsored
partner

Null character

The null character (also null terminator) is a character (computing) with the value zero, present in the ASCII and Unicode character sets, and available in nearly all mainstream programming languages. The original meaning of this character was like NOP — when sent to a computer printer or a computer terminal, it does nothing (some terminals, however, incorrectly display it as space (punctuation)).

On many computer and data terminal keyboards, it was possible to type a null character by holding down the Control key and pressing @ (which usually required also holding Shift and pressing another key such as 2 or P ). Consequently, in some contexts, the null character is represented visually as ^@ . In other contexts, it is represented as a subscript, single-em (typography)-width NUL .

The character has special significance in C programming language and its derivatives, where it serves as a reserved character used to signify the end of character string (computer science). The null character is often represented as in source code (in reality an octal escape sequence). Strings ending in a null character are said to be null-terminated .

This differs from certain other languages (such as Pascal programming language) which store a string as an array preceded by a string length. The main advantage of using a null character is that strings can be of any length, and only one character of additional storage is required. Null-terminated strings can also have efficiency benefits, since operations that traverse a string don t need to keep track of how many characters have been seen, and operations which modify the string s length do not need to update the stored length. Cache performance can also be better.

Conversely, the advantage of storing the string s length is that it is always immediately available in constant time; a program using null-terminated strings must count every character in a string to find the string s length, which requires linear or Big O notation( n ) time. Also, storing the length allows strings to contain null characters, which can simplify data processing by eliminating exceptions. In null-terminated strings, the first occurring null character is interpreted as the end of the string.

However, the Datatype used to store the length of a string is also important; if the length is stored as a byte, as in Pascal, strings may only be up to 255 characters long! Larger datatypes, on the other hand, take up more space than a null character (a 16-bit number occupies two bytes, and a 32-bit number takes four). In the 1970s, when C was designed, space considerations were much more important than they are at present, which greatly influenced the choice for null-terminated strings.

:A byte with all bits set to 0, called the null character , shall exist in the basic execution character set; it is used to terminate a character string literal. : - ANSI/ISO 9899:1990 (the ANSI C standard), section 5.2.1

:A string is a contiguous sequence of characters terminated by and including the first null character. : - ANSI/ISO 9899:1990 (the ANSI C standard), section 7.1.1

:A null-terminated byte string , or NTBS , is a character sequence whose highest-addressed element with defined content has the value zero (the terminating null character ). : - ISO/IEC 14882 (the ISO C++ standard), section 17.3.2.1.3.1