找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 2233|回复: 6
收起左侧

我是小白,能帮我看看这个程序打印的结果是什么嘛?为什么每次打印的值都不一样

[复制链接]
ID:1090450 发表于 2023-9-14 20:11 来自触屏版 | 显示全部楼层 |阅读模式
这个指针输出打印的结果不应该是a的存储地址吗?为什么每次结果都不一样?小白有点不知所措了
mmexport1694693432998.png
mmexport1694693429252.png
回复

举报

ID:883242 发表于 2023-9-14 20:58 | 显示全部楼层
谁规定每次存储的地址必须一样的?是你自己凭空想象的而已。
回复

举报

ID:290373 发表于 2023-9-14 21:05 | 显示全部楼层
想输出1用*p
回复

举报

ID:883242 发表于 2023-9-14 22:31 | 显示全部楼层
早年PC是16位机的时代,地址是segment+offset的20位地址,OS加载com或exe文件的时候,offset是固定的,segment是OS觉得哪里好就加载到哪里,这样从汇编来看,一个指针的segment每次都不一样,但是offset总是一定的。

从386开始,PC的地址变成了4G空间的32位线性地址,那么加载的地址就完全找不到规律了,OS愿意加载到哪里都可以。
回复

举报

ID:554658 发表于 2023-9-15 09:09 | 显示全部楼层
你输出的变量a的地址,当然每次运行会不一样;按照代码的意思,应该是输出a的值,应该写成
回复

举报

ID:624960 发表于 2023-9-15 11:49 | 显示全部楼层
你好,这个软件好安装吗,我也想试试这个软件,另外,你想输出指针的值,请用*P
回复

举报

ID:1090450 发表于 2023-11-3 08:48 | 显示全部楼层
liqing19891017 发表于 2023-9-15 11:49
你好,这个软件好安装吗,我也想试试这个软件,另外,你想输出指针的值,请用*P

直接去官网下载就可以了
回复

举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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