//
struct foo {
    unsigned int a;
    union {
        unsigned int b;
        struct {
            unsigned short c1;
            unsigned short c2;
        };

        struct {
            unsigned char d1;
            unsigned char d2;
            unsigned char d3;
            unsigned char d4;
        };
    };
};