struct und :??
-
Hallo, ich hab keine Ahnung was der Doppelpunkt und die Zahl bei der Struct Deklaration bedeuten soll. Ist das ein Vordefinierung? Finde es leider in keinem Buch. Hat jemand sowas schonmal gesehen?
typedef struct {
unsigned var1 :6 ;
unsigned var2 :2 ;
unsigned var3 :4 ;
unsigned var4 :3 ;
} name;Gruß chr
-
Das ist ein Bitfeld. Die Zahlen geben an, wieviele Bits die Variable belegen darf.
-
ah danke, also (unsigned msg_id :29) bedeutet dass die variable 29 bit lang sein darf. Wenn ich mehr rein schiebe werden sie abgeschnitten?
Danke nochmal
-
Keine Ahnung, obs abgeschnitten wird. Tu es einfach nicht ;). Höchstwahrscheinlich wird dabei der darauffolgende Speicher überschrieben.
-
AFAIK geben die Zahlen die Mindestgröße in Bits an.
-