We note that char s[] = "Hello World!"; ... cout << "s=" << s << endl; Here, s represents the base address of the array s. However, the stream insertion operator << is "overloaded" to have a special meaning when the right operand is of type (char *),i.e. pointer to character, or address of a character. The special meaning is: print out characters starting at this address until you hit the NULL terminator. For an example of this, see the program "arrayOfInt.cc" Emacs tip-o-the-day: To "kill" a line in emacs, CTRL-K