为了账号安全,请及时绑定邮箱和手机立即绑定

C语言-指针变量的理解

标签:
C++


a指针变量也是变量,只不过是内存中存的是变量i的内存地址。

a=&i 赋值给a的是变量i的内存地址

*a是用代表内存地址为a里存储的内容

可以对指针变量a取内存地址 &a

验证过程:

打印 a   验证 指针变量a存了i的内存地址62fe4c。

打印 星号a  验证 通过内存地址 a 找到 内存地址存储的内容 3

sizeof 确认64位操作系统中,int变量 i 占4字节,指针变量a占8个字节。

打印 &a ,推测 62fe4c - 4 - 8 = 62fe41 那么 指针变量的内存地址应该为62fe41 ,对比打印结果 62fe40

说明是成功的。有1的差距是因为指针计算时加1或减1的问题。

但是不能 这样做 int * b; b=&a。 程序提示错误。

程序验证过程中用到了单步调试,VC++有内存查看工具,但是VC++没有装成功。如果可以直接看内存,是不是可以看到像Excel表格画出来的效果。

验证通过单步调试,逐个打印的方式来做的。单步调试的方法,程序文档中设置断点(即需要查看步骤的程序开始和结尾),F9编译好程序。设置好查看的对象变量,F5开始debug,F7 next line 一行一行执行程序。

C语言-指针变量的理解

在VC上调试出来了。这次调试成功有一个关键点,在于选择win32 console appliantion。

在菜单 查看项中选择 调试窗口,然后选择memory就可以查看内存变化。非常好!!!

C语言-指针变量的理解

©著作权归作者所有:来自51CTO博客作者tutor的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消