现在的位置: 首页 > 综合 > 正文

linux union 结构体

2013年06月06日 ⁄ 综合 ⁄ 共 563字 ⁄ 字号 评论关闭

 

 

#include<stdio.h>

#include<stdlib.h>

 

 

union DATE

{

    long long  a;

    int  i[3];

    double b;

};

 

 

 

 

 

windows 的结果为

b =4

c =24

d =104

说明了一点,linux 对齐方式是4字节的,windows 对齐方式为8字节的

 

用red gcc 编译,结构体大小为12,和windows 有差别的
总结的原因是gcc 四字节对齐,只要最大长度是4的倍数就可以了,如果最大长度是小于4的,就取最大长度

 

抱歉!评论已关闭.