首先看一下这个代码
char flower[10] = "rose" ;
cout<<flower<<"s are red"<<endl;
想必很多读者会猜到这个代码的输出是
rs are red
然而并不是。
如果给cout提供一个字符的地址,则它将从该字符的开始打印,直到遇到空字符为止
在c++中,用引号括起来的字符串像数组名一样,也是第一个元素的地址。
上述代码不会将整个字符串发送给cout,而只是发送该字符串的地址。
这意味着对于数组中的字符串、用引号括起的字符串常量以及指针所描述的字符串,处理的方式是一样的,都将传递他们的地址。