C string
From Wikipedia, the free encyclopedia
-
This article is on strings in computer programming. A number of stringed instruments, including the viola and cello, have a string that, when played open, produces the note C. This is usually referred to as the C string.
In computing, C strings are character sequences stored as one-dimensional character arrays and terminated with a null character ('\0' or ASCII 0). The name refers to the ubiquitous C programming language using this string representation, and is used elsewhere to distinguish this often-used representation from others.
The null-termination characteristic has historically created security problems related to the length of the string. If the null character is not added to the end of the string for some reason, any following non-related memory area is also processed as a part of the character sequence. This can lead to program crashes or leakage of program internal information to attackers or non-understanding users. This problem can (and should) be prevented by appropriate error checking.
In the C++ programming language, C strings are used in addition to another representation of character sequences, the std::string
container found in the Standard Template Library (STL). Thus, it is important to differentiate between the traditional "C strings" and the more advanced "string" objects provided by the STL.
[edit] Trivia
C strings are exactly equivalent to the strings created by the .ASCIZ directive implemented by the PDP-11 and VAX macroassembly languages.