PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] 宣告的内存空间和位址
楼主:
OnlyCourage
(Anan)
2019-07-20 13:51:43
各位好!
小弟想了解宣告是内存的配置方式,遇到一些问题。
double a4, a3;
int a1, a2, a5;
分别print这五个变量的内存位址如下
a1>0x62fe3c
a2>0x62fe38
a3>0x62fe40
a4>0x62fe48
a5>0x62fe34
编译的时候会先a4, a3, a1, a2, a5依序建立,double为8bytes,int为4bytes。
我的问题是a4到a3占了8bytes,但是a3为double型态,为什么到a1却只有4bytes呢?不是应
该8bytes,而a1从0x62fe38开始吗?
谢谢各位指教!
作者:
school4303
(某爬虫类)
2019-07-20 14:07:00
因为这样宣告是在stack里 内存是从大的往小的要
作者:
KaryuuIssen
(一闪)
2019-07-20 14:07:00
你看反了 a3是0x62fe40~48 a1是0x62fe3c~40
作者:
KaryuuIssen
(一闪)
2019-07-20 14:09:00
恩 不包含结尾
作者:
nh60211as
2019-07-20 14:11:00
你自己先画出来看吧,你都说int是4bytes
作者:
school4303
(某爬虫类)
2019-07-20 17:04:00
对 是图二没错 只是你a2a5的位址标错
作者:
nh60211as
2019-07-20 19:42:00
http://cpp.sh/2ysst
你试试这个程式码,应该要看内存实际的内容不要猜他的内存位置塞了什么东西最好的方法应该是找个可以看内存的debugger
作者:
loveme00835
(发箍)
2019-07-20 19:49:00
宣告不占内存
作者:
nh60211as
2019-07-20 20:02:00
更新一下
http://cpp.sh/9axh7
作者:
KaryuuIssen
(一闪)
2019-07-22 17:03:00
对齐问题 0x62fe40才能被8整除
继续阅读
[作品] 每天新闻资讯网站整理
IAMPF
[问题] lex reg 关键字之外的token如何表示
OfficeGL
[问题] 有人买过细谈资料结构吗
seal46825
[问题] shared_ptr 是否 atomic or thread safe
lovejomi
Re: [问题] zj e295. IO 优化
suhorng
Re: [问题] zj e295. IO 优化
firejox
[问题] zj e295. IO 优化
nevikw39
[问题] 范例程式码无法执行
BASICA
[问题] 关于opencv 输出的录影档
asdfg1597860
[问题] 透过system() 删除档案
jayzhuang
Links
booklink
Contact Us: admin [ a t ] ucptt.com