aboutsummaryrefslogblamecommitdiff
path: root/testbed/custom_struct4.c
blob: 75f50ea0408577a13b11cad44a77be25b8d5c9bb (plain) (tree)



























                                        
struct A {
    struct B {
        int x, y;
        struct C {
            int w;
        } c;
    } b;
    int z;
};

struct B f(struct A a) {
    printf("z: %d\n", a.z);
    return a.b;
}

struct C g(struct B b) {
    printf("x: %d\ny: %d\n", b.x, b.y);
    return b.c;
}

int main() {
    struct A a;
    a.z = 1;
    a.b.x = 2;
    a.b.y = 3;
    a.b.c.w = 4;
    printf("w: %d\n", g(f(a)).w);
}