求sizeof()的问题

#include<stdio.h> int main() { struct Data{ int year; int month; int day; }; struct stu{ char stunum[10]; struct Data stubirthday; float h; float w; }one; printf("%d\t",sizeof(one)); } #include<stdio.h> int main() { struct stu{ char s[15]; float score[4]; }team; printf("%d\n",sizeof(team)); } #include<stdio.h> int main() { struct str{ float a,b; char c[6]; }; printf("%d\n",sizeof(struct str)); }第一个为什么是24,而不是10+12=22,。
第二个为什么是32,而不是15+16=31;
第三个为什么是16,而不是8+6=14;
这个sizeof()究竟是怎么占用内存的?
