#include <stdio.h> int main() { struct _AAA { char a; char e; double b; char c; int x; char f,g,h; short m,n; int d; }AAA; struct _BBB { double b; char a; char c; }BBB; printf("sizeof AAA is %d/n",sizeof(AAA)); printf("sizeof BBB is %d/n",sizeof(BBB)); return 0; } /* yuan@yuan:~/work/test> ./byte_align sizeof AAA is 24 sizeof BBB is 12 总结:考虑字节对齐问题,32位机,当有4个或少于4个char连续在一起时,占4 BYTE ;当两个char和一个short,或两个short连续时,也是占4 BYTE 。 struct _BBB { char a; char c; char b; }BBB; 结果是 3 。 */