32位系统下下列结构体大小
struct data{
char t1; //1
char t2; //1
unsigned short t3; //2
unsigned long t4; //4
}a; //a=8
struct date{
char t1; //1 //3
int t2; //4
short t3; //2 //2
}b; //b=12
struct s1
{
char c1; //1 //3
int i; //4
char c2; //1 //3
}c; //c=12
struct s2
{
char c1; //1
char c2; //1 //2
int i; //4
}d; //d=8
typedef struct Test
{
short a; //2 //2
struct
{
int b; //4
double c; //8
char d; //1 //3
}p;
int e; //4
}e; //e=24
typedef struct Tests
{
short a; //2 //2
struct
{
int b; //4
double c[10]; //80
char d; //1 //3
}q;
int e; //4
}f; //f=96
struct C{
char b; //1 //3
int a; //4
short c; //2 //2
}g; //g=12
struct D {
char a; //1
char b[3]; //3
char c; //1
}h; //h=5
typedef struct
{
int b; //4
char a; //1 //3
long e; //4
char c; //1 //3
float d; //4
double t; //8
}i; //i=28
两种验证大小端对齐的代码