#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的,就取最大长度