### 數據對齊和數據補齊
一個存儲區的地址應該是它自身大小的整數倍,然而double例外,double類型存儲區的地址只需要是4的整數倍就可以了,這個對則叫做數據對齊。
結構體里面的子存儲區,通常也需要遵守這個規則的。
#include <stdio.h>
typedef struct {
char buf[2];
int num;
} tmp;
int main(){
printf("sizeof(tmp)是: %ld\n", sizeof(tmp));
return 0;
}
結構體存儲區的大小必須是它所包含的最大基本類型子存儲區大小的整數倍,如果這個基本類型子存儲區是double類型則結構體存儲區大小只需要是4的整數倍,這個規則叫數據補齊。
數據補齊可能導致結構體最后多出一些浪費的字節。