2 leesagacious leesagacious 于 2015.06.15 21:28 提问

这个结构体占据多少字节呢 请指教

typedef struct _person{

char  firstname;

char  lastname;

char * title;

unsigned int age;

char sex;

struct spring ls;

}Person;
这个结构体占据多少字节

8个回答

jianjian1992
jianjian1992   2015.06.16 15:14
已采纳

不是简单相加就好了的,要考虑对齐问题,所以与spring结构关系很大,
我用你的这个结构做了一点小实验,结果会根据spring中内置变量的不同而有挺大变化的哦
http://blog.csdn.net/jianjian1992/article/details/46518027

leesagacious
leesagacious 大神,亲力亲为 ,五体投地感动!!膜拜
大约 2 年之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.06.15 21:46

char是一个,指针是四个。然后就是要看ispring的大小已经对齐。

hyan23
hyan23   2015.06.15 21:56

12 + ls 个人见解

zhengkaicsdn
zhengkaicsdn   2015.06.15 22:40

(1+1按4字节对齐)4+4+4+(1按4字节对齐)4 = 16+ls的大小

uxiaolang
uxiaolang   2015.06.15 23:06

按照内存地址对齐选择,是4的整数倍,前两个char构成4字节,指针char是地址,4字节,int型4字节,char补齐4字节,spring同样计算方法,所以就是4+4+4+4+spring

cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.06.15 23:18

结构体应该是总数相加(char是一个,指针是四个)所以应该是12+spring

dominating413421391
dominating413421391   2015.06.17 13:39

和结构体ls的大小有关,需要根据字对齐原则判断

a1193561652
a1193561652   Rxr 2015.06.15 21:41

spring是个什么结构?

Csdn user default icon
上传中...
上传图片
插入图片