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