结构大小判断详解
结构体大小判断要点:
1.前面所有成员的字节数能整除当前成员大小.解决单个变量
2.结构体的大小必须能整除单个最大类型的大小.解决数组
举例说明
一、
typedef struct A
{
float a; //4字节大小
int b; //4字节大小
};
那么A结构体的总大小为8个字节
二、
struct B
{
char a; //1字节大小 1+3=4,4字节大小
int b;//4字节大小
};
那么B结构体大小为8字节大小
前面所有成员的字节数能整除当前成员大小,所以char类型会补充三个字节,让速度更快
三、
struct C
{
char a; //1字节大小 为了后面成员能够整除前面的成员 所以1+1=2字节
short b; //2字节大小
int c; //4字节大小
};//8字节大小
四、
struct D
{
char a; //1+3字节大小
int b; //4字节大小
short c; //2字节大小
};//10+2字节大小
五、
struct E
{
char a; //1+3字节大小
int b; //4字节大小
long *c; //4+4字节大小
double d; //8字节大小
}; //24字节大小
六、
struct F
{
int a;//4字节大小
char b;//1字节大小
};//5+3字节大小