首先看下面这个代码实例:
#include <iostream>
using namespace std;
int main()
{
char *str = "this is a test";
cout << "str=" << str << endl;
cout << "*str=" << *str << endl;
cout << "&str" << &str << endl;
system("pause");
return 1;
}
其输出结果为:
看到了一些例子里面直接使用cout<<指针名,刚开始感觉很疑惑,本来以为直接输出该指针,结果输出的是指针所指向的内存中存放的内容,直到读到“/0”结束标志结束。后来查资料发现这是编译器所预先设定的规则,其输出内容就是这样。另外,如果直接使用*str, 这里str指针变量存储的是它所指向的变量的首地址,则*str输出的内容是指针指向内容的首字符自然不难理解。
本文通过一个C++代码示例介绍了如何理解cout输出指针变量的行为,包括直接输出指针名与输出指针所指向内容的区别。
16万+

被折叠的 条评论
为什么被折叠?



