1extern void abort (void); 2 3struct A 4{ 5 int i; 6}; 7struct B 8{ 9 struct A a; 10 int j; 11}; 12 13static void 14foo (struct B *p) 15{ 16 ((struct A *)p)->i = 1; 17} 18 19int main() 20{ 21 struct A a; 22 a.i = 0; 23 foo ((struct B *)&a); 24 if (a.i != 1) 25 abort (); 26 return 0; 27} 28 29