惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
小众软件
小众软件
D
Docker
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
V2EX
博客园 - 叶小钗
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
Stack Overflow Blog
Stack Overflow Blog
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
IT之家
IT之家
博客园 - 司徒正美
M
MIT News - Artificial intelligence
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
罗磊的独立博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
C
Check Point Blog

博客园 - 探索

字符串倒序算法最优 - 探索 - 博客园 extern关键字 C++的基本概念和术语 关于软件汉化 郁闷! 命名空间语法 对程序集的理解 c#中重写(覆盖)和隐藏类的方法 最近好累呀~~~~ Vigenere加密算法类 人工智能规则正向演绎系统简单程序演示(c++) 爱情与婚姻 我的论坛刚刚建立起来,希望大家能支持一下~~~ oracle数据库中数据控制 初学者读书笔记数据库篇(一) C#中只允许产生一个类的实例的方法 今天申请了一个Gmail~~ 关于对SQL Server连接访问问题 今天罪孽深重~~~
c++指针问题 - 探索 - 博客园
探索 · 2005-06-14 · via 博客园 - 探索

Posted on 2005-06-14 06:59  探索  阅读(679)  评论()    收藏  举报

当一个指针表达式的值为一个char*类型指针时,输出指针不是输出这个指针的值(地址),而是输出这个值所指向(即以这个值为首地址)的字符串。例如:
int a,*ap=&a;
char * cp;
cp="output";
cout<<ap<<''<<cp<<endl;
cout<<(void*)cp<<endl;
执行这几条语句后结果为:
0x0065FDF4 output
0x004260B4
将字符指针转化为一个void*类型的值,才能输出真正的地址的值。
由于指针就是内存中的地址,所以只要是地址,它指向的是某个字符串的首地址或者是字符串中间一个字符的地址,那么在输出这个地址的时候都是输出的是以这个地址为首地址到字符串结束标记所包含的子字符串例如:
char s1[]="StringPointer";
cout<<&s1[6]<<endl;//&s1[6]等同与s1+6
程序执行输出结果为:
Pointer
这里&s1[6]本应该是P这个字符对应的地址,可以把它看成一个指针,但是由于s1是字符串,所以输出来的是 子字符串,可以对&s1[6]进行一个指针的操作,如:(void*)&s1[6]输出真正的地址,*&s1[6]输出真正的地 址所对应的字符,和s1[6]等同。