#include typedef struct _Foo { char *bar; unsigned int flag1 : 1; unsigned int flag2 : 1; unsigned int flag3 : 1; unsigned int flag4 : 1; unsigned int flag5 : 1; unsigned int flag6 : 1; unsigned int flag7 : 1; unsigned int flag8 : 1; } Foo; typedef struct _Bar { Foo foo; char c; } Bar; int main (int argc, char *argv[]) { printf ("%d\n", sizeof (Foo)); printf ("%d\n", sizeof (Bar)); return 0; }