Ich verstehe nicht ganz was dieser Code macht. Ich dachte der Member x der Struktur B würde dabei auf 1 gesetzt werden weil man ja den = Operator innerhalb des typedef nicht nutzen kann? Aber es scheint trotzdem 0 zu sein.
#include <stdio.h> typedef struct a { int x; } A; typedef struct b { int x : 1; } B; int main(int argc, char **argv) { A a = { 2 }; B b; B *c; printf("%d, %d, %d", a.x, b.x, c->x); }