首先了解32位系统的类型大小:
char 1;short 2;int 4;long 4(应该是计算方式不一样);float 4,;double 8;*p 地址 4。
结构体的大小规则:
1、空间是最大‘基本’类型的倍数。
2、以最大‘基本’类型进行区域划分空间,然后分配内存。比如最大类型double,然后划出8*n的空间,然后装数据,
如第一一个结构体:
typedef struct demos
{
char a;
short d;
int b;
short c;
};
空间是:a,xx,d1,d2,b1,b2,b3,b4,c1,c2,xx,xx。他的长度为12。
typedef struct abc
{
char a;
demos b;
}abc1;