以下语句将输出“I love China!” ,而不是"I",而是cout<<*str3<<endl才是输出"I"。
char *str3="I love China!";
cout<<str3<<endl;
系统先输出str所指向的第一个字符数据,然后使str自动加1,使之指向下一个字符,然后再输出一个字符……如此直至遇到字符串结束标志'/0'为止。注意,在内存中,字符串的最后被自动加上一个'/0',因此在输出时能确定字符串的终止位置。同理:改成
cout<<str3 + 1<<endl;
则从第二个字符开始输出" love China!"。
而*str3是*(str3+0)是指向第一个元素。
因此字符指针的使用有别于其它类型的指针。