1 struct foo { 2 char a[3]; 3 char b; 4 char c; 5 }; 6 7 struct foo bs; 8 int x; 9 char y[3]; 10 bar(void)11 void bar(void) 12 { 13 memcpy(bs.a, y, 3); 14 bs.a[1] = ((x ? &bs.b : &bs.c) - (char *)&bs) - 2; 15 } 16