<分区>
我们知道,在结构中声明变量的正确顺序也会因为填充而改变结构的大小。我看过引用文献 here .
假设一个结构是:
struct s {
char b; //1 for char
char c; //1 for char + 2 for padding
int a; //4 for int
}my_struct;
所以 my_struct
的大小是 8
,但如果没有填充,它可能是 6
,小于 8
.
所以我的问题是:为什么填充是在结构中完成的?这个概念的必要性是什么?
因为没有填充,结构的尺寸较小。我的问题与填充何时发生无关,它更关心填充的概念。