打印
[PIC®/AVR®/dsPIC®产品]

变量的存储顺序

[复制链接]
2066|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
变量在定义后是如何在内存中存储的呢?
是先定义的变量放在高地址还是放在低地址呢?
在结构体中先定义的变量是在低地址呢,还是高地址呢?
你又想过吗?

使用特权

评论回复
沙发
dongnanxibei|  楼主 | 2024-5-18 16:11 | 只看该作者

使用特权

评论回复
板凳
dongnanxibei|  楼主 | 2024-5-18 16:21 | 只看该作者
可以看到孤立变量都是先定义的在高位,后定义的在低位。
而对于结构体内变量是先定义的在低位,后定义的在高位。

使用特权

评论回复
地板
玛尼玛尼哄| | 2024-5-25 20:26 | 只看该作者
这个值的思考,在针对那些需要指针和地址的应用里很重要

使用特权

评论回复
5
看别人照片| | 2024-5-27 09:14 | 只看该作者
指针和地址存放的地址是不一样的

使用特权

评论回复
6
MianQi| | 2024-6-18 21:26 | 只看该作者
没有想过,但这是一个有趣和有意义的问题,感谢楼主的分享。那这个存储顺序是否跟编译器有关,如果是,是否在编译器中有可选的设置?

使用特权

评论回复
7
hehhehee| | 2024-9-28 23:50 | 只看该作者
成员的对齐可能影响实际的内存布局。如果某个成员需要特定的对齐(如4字节或8字节对齐),编译器可能会插入填充字节,以确保每个成员的对齐要求得到满足。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

207

主题

3597

帖子

16

粉丝