Why does this work with a pointer? A C string is an array of chars -so a pointer to the first character-: http://www.cplusplus.com/doc/tutorial/ntcs/
A char can only contain one char? Yes
There is an operator<<( const char* ) overload for streams that assumes you meant to output
all characters up to the next null terminator. (ie, it assumes you are outputting a C-style string).
Actually, both syntaxes are not equivalent.
The former makes a pointer that points to a char array allocated statically by the compiler. This array, like all static arrays, cannot be modified, but the pointer itself can be made to point elsewhere.
The latter makes 'word' be an alias for a a stack address that refers to an array created in the stack. Like all stack arrays, this one can be modified, but 'word' cannot be made to point elsewhere.