Pointers and Strings
The special relationship between arrays and pointers extends to C-style strings. Consider the following code:
char flower[10] = "rose";cout << flower << "s are red\n";
The name of an array is the address of its first element, so flower
in the cout
statement is the address of the char
element containing the character r
. The cout
object assumes that the address of a char
is the address of a string, so it prints the character at that address and then continues printing characters until it runs into the null character (\0
). In short, if you give cout
the address of a character, it prints everything from that character to the first null character that follows it.
The crucial element here is not that flower
is an array name but ...
Get C++ Primer Plus now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.