黑马程序员技术交流社区

标题: C语言基础 [打印本页]

作者: i花生    时间: 2015-5-7 16:28
标题: C语言基础
不是所有的变量的内存寻址都是从大到小吗,为什么结构体里的变量如:struct Date
{
int year;
int month;
int day;
}
三个变量year,month,day的地址不是由大到小的。

作者: 逆流瞅瞅    时间: 2015-5-7 16:41
变量作为一个单独的个体,个体和个体之间的存储地址由大到小。但变量和变量组成的结构体类型或字符串类型,作为一个整体存储,其内部变量存址是由小到大的。
作者: 13673696542    时间: 2015-5-7 17:45
你为什么说他不是从大到小,你是理解错误吧。
作者: i花生    时间: 2015-5-7 18:02
13673696542 发表于 2015-5-7 17:45
你为什么说他不是从大到小,你是理解错误吧。

不是吧,如果year的地址是ffco,那么month的地址是ffc4,day的地址是ffc8,是从小到大的。

作者: i花生    时间: 2015-5-7 18:04
逆流瞅瞅 发表于 2015-5-7 16:41
变量作为一个单独的个体,个体和个体之间的存储地址由大到小。但变量和变量组成的结构体类型或字符串类型, ...

豁然开朗,谢谢大神
作者: 王鹏飞1    时间: 2015-5-7 20:50
是的,寻址由大到小
作者: 13673696542    时间: 2015-5-7 21:21
i花生 发表于 2015-5-7 18:02
不是吧,如果year的地址是ffco,那么month的地址是ffc4,day的地址是ffc8,是从小到大的。
...

你用的什么系统?
作者: 大可乐    时间: 2015-5-7 22:43
C语言,,好怀念
作者:   张恒宇    时间: 2015-5-7 23:20
你这是定义类型不分配存储空间的啊。。。。你所说的地址大小是怎么理解
作者: cui0wei0    时间: 2015-5-8 00:22
他是一个整体么, Date的地址才是小端对齐的吧, 里面的变量应该是顺序排列的
作者: 梦初醉    时间: 2015-5-8 00:33
可以自己用C程序 打印出来变量地址看看的 没记错的话 是sizeof
作者: 飞翔的猪    时间: 2015-5-8 04:12
变量的地址分配有两种方式,一种是初始化系统自动分配,一种是向系统申请分派(malloc) ,我不知道你是怎么理解的。
作者: dcf    时间: 2015-5-8 20:50
结构体内部存储地址由小到大
作者: CornerFly    时间: 2015-5-9 11:53
逆流瞅瞅 发表于 2015-5-7 16:41
变量作为一个单独的个体,个体和个体之间的存储地址由大到小。但变量和变量组成的结构体类型或字符串类型, ...

恩恩  ,说的很有道理
作者: x331275955    时间: 2015-5-9 21:37
学习了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2