4

Cで次の構造体のサイズを2にすることは可能ですか?

#include <stdio.h>

struct union_struct {
    char foo;
    char bar : 2;
    union {
        char foobar1 : 6;
        char foobar2 : 6;
    };
};

int main(void)
{
    printf("size of union struct: %d\n", sizeof(struct union_struct));
    return 0;
}

gcc でコンパイルされた出力:

size of union struct: 3

4

1 に答える 1