首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

struct a {char b;double a;}通过字节对齐应该是大小应该是12还是16?解决方法

2012-03-01 
struct a {char bdouble a}通过字节对齐应该是大小应该是12还是16?我这里Linux上是12,会有16这个结果吗?

struct a {char b;double a;}通过字节对齐应该是大小应该是12还是16?
我这里Linux上是12,会有16这个结果吗?

[解决办法]
会,M$VC缺省是pack(8)的,结果就是16 ...

[解决办法]
gcc下char是4字节,double是8字节,所以是12啊。
[解决办法]
char 是1字节
double 是4字节
32位操作系统,为了效率问题,保持4字节对齐,
char之后,在double的时候,会从下个4字节开始
所以是4+8=12

热点排行
Bad Request.