牛骨文教育服务平台(让学习变的简单)
博文笔记

C++ 直接cout指针名的含义?

创建时间:2017-10-08 投稿人: 浏览次数:753

首先看下面这个代码实例:

#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输出的内容是指针指向内容的首字符自然不难理解。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。