#include typedef struct _test { char c1, c2; int i; float f; union { double ud; int ui; char uc; } u; double d; } test; int main () { test t; printf("sizeof(test): %lu\n", sizeof(test)); printf("sizeof(union): %lu\n", sizeof(t.u)); printf("Address(t.c1) = %p\n", &(t.c1)); printf("Address(t.c2) = %p\n", &(t.c2)); printf("Address(t.i) = %p\n", &(t.i)); printf("Address(t.f) = %p\n", &(t.f)); printf("Address(t.u.ud) = %p\n", &(t.u.ud)); printf("Address(t.u.ui) = %p\n", &(t.u.ui)); printf("Address(t.u.uc) = %p\n", &(t.u.uc)); printf("Address(t.d) = %p\n", &(t.d)); return 0; }