Der Doppelpunkt (: X) beduetet, dass die Variable eine Größe von X Bits haben soll (Bitfeld).

Wäre es nicht sinnvoller statt int char zu nehmen, wenn du nur ein Bit brauchst? Ich denke, dass der Compiler das einfach "übersieht", bzw. keine Warnung dafür hat. In der Praxis würde ich aber von solch einer Zuweisung abraten