彻底理解结构体struct和枚举union的内存对齐和大小计算
#include <iostream>
using namespace std;
typedef union
{
long i; //32位机占4个字节
int k[5]; //5个int占20个字节,一个int是4个字节
char c; //c实际只占一个字节,但由于内存对齐会给它分配4个字节的空间
}DATE;
DATE D;
struct data
{
char c1;
char c2;
int m;
DATE n;
double q;
char c3;
};
int main()
{
cout<<sizeof(D)<<endl; //20个字节
cout<<sizeof(struct data)<<endl; //48个字节
return 0;
}