C语言中,直接cout指针名意味着输出指针指向的内存地址吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计310个文字,预计阅读时间需要2分钟。
首先看看下面这个代码实例:+
首先看下面这个代码实例:
#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输出的内容是指针指向内容的首字符自然不难理解。
本文共计310个文字,预计阅读时间需要2分钟。
首先看看下面这个代码实例:+
首先看下面这个代码实例:
#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输出的内容是指针指向内容的首字符自然不难理解。

