• Obin@feddit.org
        link
        fedilink
        arrow-up
        20
        ·
        edit-2
        7 months ago

        You mean ‘unnamed’ is what’s confusing you?

        Normally you can do anonymous struct/union members or struct struct/union members that are tagged structs but not anonymous.

        I.e. in standard C you’d have to do either:

        struct foo { int baz; };
        struct bar { struct foo foo; };
        ...
        struct bar data;
        data.foo.baz = 0;
        

        or:

        struct bar { struct {  int baz; } foo; };
        ...
        struct bar data;
        data.baz = 0;
        

        but to do the following, you’d need the extension:

        struct foo { int baz; };
        struct bar { struct foo; };
        ...
        struct bar data;
        data.baz = 0;