struct A // sizeof (A) == 12
{
char b;
int a;
char c;
};
struct B // sizeof (B) == 8
{
char b;
char c;
int a;
};
这是编译器的事情,把分配内存的最小单位划分成了4Byte,这是为了寻址更加迅速,牺牲了空间。
结构体A存放b占用了4B,存放a占用了4B,存放c占用了4B;
结构体A存放b、c占用了4B,存放a占用了4B。
有点像磁盘里簇和扇区里的概念了。
struct A // sizeof (A) == 12
{
char b;
int a;
char c;
};
struct B // sizeof (B) == 8
{
char b;
char c;
int a;
};
这是编译器的事情,把分配内存的最小单位划分成了4Byte,这是为了寻址更加迅速,牺牲了空间。
结构体A存放b占用了4B,存放a占用了4B,存放c占用了4B;
结构体A存放b、c占用了4B,存放a占用了4B。
有点像磁盘里簇和扇区里的概念了。