#include <stdio.h>

struct xy {
    int x;
    int y;
};

struct zw {
    int z;
    struct xy w;
};

int main(void)
{
    struct zw a;
    struct zw b = {10, {20, 30}};
    struct zw c = {40, {50, 60}};

    a.z = b.z;
    printf("a.z = %d\n", a.z);

    a.w.x = b.w.x;
    printf("a.w.x = %d\n", a.w.x);

    a.w = b.w;
    printf("a.w.y = %d\n", a.w.y);

    a = c;
    printf("a.z = %d\n", a.z);
    printf("a.w.x = %d\n", a.w.x);
    printf("a.w.y = %d\n", a.w.y);

    return 0;
}