struct B1 { int i; double d; }; struct B2 { struct B1 b1; float f; } b2; int main(void) { int * p = &b2.b1.i; struct B2 * q = (struct B2 *)p; *q = (struct B2) { { 2, 3.14 }, 2.718 }; $assert(b2.b1.i == 2); $assert(b2.b1.d == 3.14); $assert(b2.f == 2.718); }