可能是重复问题:
为什么结构体的sizeof不等于每个成员的sizeof之和?
考虑以下C代码:
#include <stdio.h>
struct employee
{
int id;
char name[30];
};
int main()
{
struct employee e1;
printf("%d %d %d", sizeof(e1.id), sizeof(e1.name), sizeof(e1));
return(0);
}
输出结果为:
4 30 36
为什么结构体的大小不等于其各个组成变量大小的总和?