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

指针,指针问题(帮灌灌水)

[复制链接]
发表于 2009-11-6 01:30:55 | 显示全部楼层 |阅读模式 IP:江苏扬州
程序代码:
  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int i;              
  6. i=100;
  7. int &j=i;             //定义也需赋值;
  8. cout<<"j "<<j<<endl;
  9. j=200;//引用自己更改自身数值,
  10. cout<<"i "<<i<<endl;
  11. cout<<"j "<<j<<endl;
  12. int k;
  13. k=5;
  14. //================
  15. const int &h=k;//常量引用,只能够被赋值不能够更改自身的数值,并且在其定义时必须赋值。
  16. cout<<"h "<<h<<endl;
  17. k=160;//更改整形变量K的值
  18. cout<<"k "<<k<<endl;
  19. cout<<"h "<<h<<endl;
  20. //=================================
  21. int *p;   //定义指针*P
  22. p=&j;//指针指向引用j
  23. cout<<"*p "<<*p<<endl;
  24. *p=105;
  25. cout<<"指针第一次更改过数值引用j 值"<<j<<endl;
  26. cout<<"指针第一次更改过数值*p "<<*p<<endl;
  27. //===============================
  28. //为什么这里指针更改过数值,引用值改了,下面指针更改数值后,k的值没有变化,这个是啥原因??
  29. *p=k;
  30. cout<<"*p "<<*p<<endl;
  31. k=*p;
  32. *p=560;
  33. cout<<"指针指向k更改过数值后的值 "<<k<<endl;
  34. cout<<"指针更改过数值后*p值 "<<*p<<endl;
  35. }
  36. 这里面指针P的值我改变了一下,为什么被指向的值K的值没有改变
  37. 只有他自己变了。我下面又定义了一个指针变量l为什么他又可以
  38. 改变别的数值了。难道是因为
  39. 指针P指向过一次引用j??
  40. 这个是啥原因造成的啊!!
复制代码
发表于 2009-11-6 01:30:56 | 显示全部楼层 IP:江苏扬州
*p=k;
cout<<"*p "<<*p<<endl;
k=*p;
*p=560;

p=&k;
cout<<"*p "<<*p<<endl;
k=*p;
*p=560;
回复

使用道具 举报

发表于 2009-11-6 01:30:57 | 显示全部楼层 IP:江苏扬州
a.如果p指向0012ff6c,k的地址0012ff3c。,*p=0,k=1,
1.*p=k;  
0012ff6c[1]
0012ff3c[1]
2.k=*p;
0012ff6c[1]
0012ff3c[1]
3.*p=560;
0012ff6c[560]
0012ff3c[1]
b.如果p指向0012ff6c,k的地址0012ff3c。,*p=0,k=1,
1.p=&k
p---->0012ff3c[1]
2.k=*p;
p----->0012ff3c[1]
3.*p=560;
p----->0012ff3c[560]
回复

使用道具 举报

发表于 2009-11-6 01:30:59 | 显示全部楼层 IP:江苏扬州
谢谢各位,我通过别人的指点发现原来是
*p=k只是将k赋值给8p并没有用指针p指向k所有我下面更改
p的数值k没有变化,
呵呵,才明白这层意思我
*p=k;
cout<<"*p "<<*p<<endl;
k=*p;
*p=560;
cout<<"指针指向k更改过数值后的值 "<<k<<endl;
cout<<"指针更改过数值后*p值 "<<*p<<endl;
就这里,只是给指针p的赋值
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-1 17:35 , Processed in 0.178807 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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