黑马程序员技术交流社区

标题: 关于普通类型和struct在内存中的存储地址 [打印本页]

作者: 王二小。    时间: 2015-5-15 11:45
标题: 关于普通类型和struct在内存中的存储地址
普通类型在内存中存储是按最大的内存地址去存储值 ,而struct中的类型是按顺序给内存地址赋值,是有这个区别吗?

int a =1; 模拟地址:0xfac8,0xfac7,0xfac6,0xfac5;  int b=5;   模拟地址:0xfac4,0xfac3,0xfac2,0xfac1.

struct Person
{
     int a;  模拟地址:0xfac0,0xfac1,0xfac2,0xfac3;
     int b;  模拟地址:0xfac4,0xfac5,0xfac6,0xfac7.
}

是这个意思吗?
作者:   张恒宇    时间: 2015-5-15 22:23
一个结构体中的一个成员变量你给出了四个模拟地址怎么解。。。。。
作者: 丶浩浩丶    时间: 2015-5-15 22:31
这么看先定义的在低地址,跟数组一样.

QQ20150515-1.png (20 KB, 下载次数: 9)

QQ20150515-1.png

作者: 王二小。    时间: 2015-5-18 10:42
  张恒宇 发表于 2015-5-15 22:23
一个结构体中的一个成员变量你给出了四个模拟地址怎么解。。。。。

一个int不是占4个字节吗,那不是模拟了下每个字节的地址吗...
作者: wodeheimalife    时间: 2015-5-18 11:22
是自上往下分的
作者: 王二小。    时间: 2015-5-20 11:26
wodeheimalife 发表于 2015-5-18 11:22
是自上往下分的

好的,谢谢
作者: 王二小。    时间: 2015-5-20 11:30
丶浩浩丶 发表于 2015-5-15 22:31
这么看先定义的在低地址,跟数组一样.

好的,谢谢
作者: gclforios    时间: 2015-5-20 14:47
注意结构体存在对齐方式,不过你的两个类型一直刚好对齐,所以他会按照顺序的方式存储
作者: chensc    时间: 2015-5-20 19:09
学习学习!




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