找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 319|回复: 9

字符指针

[复制链接]
发表于 2009-11-3 00:49:13 | 显示全部楼层 |阅读模式 IP:江苏扬州
还有一点不明白
为什么
cout<<字符指针
为什么能把所有内容输出
按理讲应该是第一个呀
cout后面传递的不是一个地址吗
可cout<<*P;
就是输出第一个
而*P不是第一个的内容吗
发表于 2009-11-3 00:49:14 | 显示全部楼层 IP:江苏扬州
cout&lt;&lt;*p;一般是输出数组的第一个值,因为p一般都是指向数组的第一个地址的。
回复

使用道具 举报

发表于 2009-11-3 00:49:15 | 显示全部楼层 IP:江苏扬州
例如cout<<x;
这里x不就是传递个地址值吗
而如果指针指向第一个
那为什么
char*p="hi";
cout<<p;
就能输出hi,而不是h
回复

使用道具 举报

发表于 2009-11-3 00:49:17 | 显示全部楼层 IP:江苏扬州
*p传递的是“h"第一个值
而p传递的是整个字符串的地址 我是个菜鸟 请高手给点评价 看看我对这位兄弟的解释可否通过
回复

使用道具 举报

发表于 2009-11-3 00:49:18 | 显示全部楼层 IP:江苏扬州
以下是引用heliujin在2006-4-1 8:21:00的发言:
*p传递的是“h"第一个值
而p传递的是整个字符串的地址 我是个菜鸟 请高手给点评价 看看我对这位兄弟的解释可否通过
完全正确处

在cout<<后面就是这样
回复

使用道具 举报

发表于 2009-11-3 00:49:20 | 显示全部楼层 IP:江苏扬州
同上
回复

使用道具 举报

发表于 2009-11-3 00:49:22 | 显示全部楼层 IP:江苏扬州
就像数组差不多,cout<<p的话,P指向的是数组的首地址,所以全部输出,如果想输出一个就只能是*p
回复

使用道具 举报

发表于 2009-11-3 00:49:25 | 显示全部楼层 IP:江苏扬州
还可以这样输出:
while(*p!='\0')
cout<<*p++<<endl;
呵呵
回复

使用道具 举报

发表于 2009-11-3 00:49:29 | 显示全部楼层 IP:江苏扬州

我想说的事他的机制
你们说的我都知道
我就想知道为什么
跟踪的话P指的就是第一个
为什么却能全输出
回复

使用道具 举报

发表于 2009-11-3 00:49:33 | 显示全部楼层 IP:江苏扬州
cout<<字符指针
是对字符串输出的一种操作....
在运行过程中,系统自动使字符指针加1指向下一个字符,直至字符串的结束标志'\0'.....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 05:23 , Processed in 0.170685 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表