| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 377 人关注过本帖
标题:指针的疑惑
只看楼主 加入收藏
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
结帖率:87.93%
收藏
已结贴  问题点数:20 回复次数:3 
指针的疑惑
在看书,对于范例程序中的
  int value=5;
  int *ptrValue=&value;
  int **ptrptr=&ptrValue;
  cout<<"value="<<value<<endl;
  cout<<"ptrvalue="<<ptrValue<<endl;
  cout<<"value="<<*ptrValue<<endl;
  cout<<"ptrptr="<<ptrptr<<endl;
  cout<<"ptrvalue="<<*ptrptr<<endl;
  cout<<"value="<<**ptrptr<<endl;
//------------------结果   
value=5
ptrvalue=0X0012FF7C
value=5
ptrptr=0X0012FF78
ptrvalue=0X0012FF7C
value=5
//------------------结果
能够理解

但是将程序改成
  char value=5;
  char *ptrValue=&value;
  char **ptrptr=&ptrValue;
  cout<<"value="<<value<<endl;
  cout<<"ptrvalue="<<ptrValue<<endl;
  cout<<"value="<<*ptrValue<<endl;
  cout<<"ptrptr="<<ptrptr<<endl;
  cout<<"ptrvalue="<<*ptrptr<<endl;
  cout<<"value="<<**ptrptr<<endl;
//------------------结果   
value="字符"
ptrvalue=乱码
value="字符"
ptrptr=0X0012FF78
ptrvalue=乱码
value="字符"
//------------------结果
对于ptrvalue的数值显示怎么会是乱码不是很理解,在调试中查看ptrvalue的数值和上面的是一样
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 happynight 于 2009-9-24 15:11 编辑 ]
搜索更多相关主题的帖子: 指针 
2009-09-24 15:10
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
收藏
得分:10 
指针长度不一样,int型的4字节,char型1字节

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-09-24 20:13
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
以下是引用jedypjd在2009-9-24 20:13:32的发言:

指针长度不一样,int型的4字节,char型1字节
能详细点吗 愿闻其详
2009-09-25 09:00
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:10 
cout<<"value="<<value<<endl; //输出ACS码为5的字符    操作数类型为char
cout<<"ptrvalue="<<ptrValue<<endl; //输出从value地址起开始的字符串,直到碰到第一个字符结束符。操作数类型为char*

  cout<<"value="<<*ptrValue<<endl; //输出ACS码为5的字符 操作数类型为char
  cout<<"ptrptr="<<ptrptr<<endl; //输出value地址  操作数类型为指针,默认为int(0x) 类型
  cout<<"ptrvalue="<<*ptrptr<<endl; //输出从value地址起开始的字符串,直到碰到第一个字符结束符。 操作数类型为char*
  cout<<"value="<<**ptrptr<<endl;//输出ACS码为5的字符  操作数类型为char
cout的<<操作符重载了对不同操作数的数据类型操作的函数,可以跟进去看看具体代码。


2009-09-26 14:24
快速回复:指针的疑惑
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.061467 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved