社区
语言基础/算法/系统设计
帖子详情
其实变量是个什么样的东西?
chenyq2008
2008-11-29 11:50:24
写程序有好一段时间了,突然间想起有这样的一个问题:
例如:
var
i : Integer;
p : pInteger;
begin
i := 10;
p := @i;
end;
上面代码中p是指针10的内存首地址并是Integer类型的,这个好理解,但变量在内存中是怎么引用10的?i := 10是一个怎么样的机制?它不是用地址跟10关联那是用什么关联的呢?
...全文
121
7
打赏
收藏
其实变量是个什么样的东西?
写程序有好一段时间了,突然间想起有这样的一个问题: 例如: var i : Integer; p : pInteger; begin i := 10; p := @i; end; 上面代码中p是指针10的内存首地址并是Integer类型的,这个好理解,但变量在内存中是怎么引用10的?i := 10是一个怎么样的机制?它不是用地址跟10关联那是用什么关联的呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kampan
2008-11-29
打赏
举报
回复
把00001010这么一个东西放在i的地址空间之中
willflyz
2008-11-29
打赏
举报
回复
变量其实是内存上的一个值.
用record,pack record去理解一下.
长沙三毛
2008-11-29
打赏
举报
回复
编译时,i := 10 是把 10 存放到 i 变量的地址空间中。
liangpei2008
2008-11-29
打赏
举报
回复
看一下汇编,搞清楚那几种寻址方式就明白了
Reverse.King
2008-11-29
打赏
举报
回复
上面代码编译后的实际是这样:
i := 10; mov [ebp-$04],$0000000a
p := @i; lea ebx,[ebp-$04]
ebp-$04就是I,它实际上是栈
P实际上就是指向该栈的一个指针即ebx
7年
2008-11-29
打赏
举报
回复
学习。
Bear_hx
2008-11-29
打赏
举报
回复
楼主可以看一下变量的寻址方式和怎么读取变量的值,记得原来的Think C++中有,或者一般的汇编教程中都有。
netty-all-4.1.23.Final.jar中文文档.zip
1、压缩文件中包含: 中文文档、jar包下载地址、Maven依赖、Gradle依赖、源代码下载地址。 2、使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 3、特殊说明: (1)本文档为人性化翻译,精心制作,请放心使用; (2)只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; (3)不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 4、温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件。 5、本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册。
OKT507_修改默认界面显示_Linux_应用笔记_V1.0_20220627.pdf
OKT507_修改默认界面显示_Linux_应用笔记_V1.0_20220627
Linux_G2D_开发指南.pdf
Linux_G2D_开发指南
天气系统插件,所见即所得
天气系统插件,所见即所得
这是一个用Python开发的桌面版的跆拳道馆管理系统.zip
这是一个用Python开发的桌面版的跆拳道馆管理系统
语言基础/算法/系统设计
16,747
社区成员
33,239
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章