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
";
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 (