结构大小判断详解

结构体大小判断要点:
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字节大小

结构体大小

相关文章: