Hi, ich hätte mal eine C frage. Ich verwende als C compiler den CodeVisionAVR vers. 1.23.7a und hätte gerne eine structur mit einer Bitvariable darin erstellt. struct struct_weiche { bit status; char portmaske; char portbaustein; }weiche[64]; Laut Hilfe datei des Compilers ist dies angeblich möglich: "The structure members can be any of the supported Data Types, arrays of these data types or pointers to them." Allerdings bekomme ich beim compiliren dann eine Fehlermeldung "declaration syntax error" für diese Zeile mit der Bitvariable. Mein frage: Ist es nicht möglich in einer Strucktur eine Bitvariable zu verwenden? Danke! Markus
Hm, Ich hab ja immer noch die Hoffnung das es jemand giebt der mir was zu diesem Thema sagen kann und schieb den Topic mal nach oben ;-). Giebt doch bestimmt jemand der auch in C programiert und einen anderen C-compiler verwendet, villeicht könnte derjenige mir den gefallen tun und versuchen eine structur mit bitvariable zu erstellen dann wüsste ich obs an meinem Compiler liegt oder ob es grundsätzlich nicht sinnvoll ist, dies zu ermöglichen. Ich habe inzwischen auch mal die neuste Version CodeVisionAVR versucht...ging noch immer nicht. Nochmals Danke! Gruß Markus
Probier´s mal mit Gemütlichkeit :) typedef enum {true=1, false=0} bool; typedef struct BitField{ unsigned int Flag1 : 1; unsigned int Flag2 : 1; unsigned int Flag3 : 1; }BitField; BitField TestBitField; void main (void){ TestBitField.Flag1 = true; TestBitField.Flag2 = false; //... } Gruß, Dirk. PS: Das Buch "Programmieren in C" von K&R hilft bei solchen Problemen besser als deine Compilerhilfe ,)
Danke Dirk! Danke in 2facher hinsicht :p. Ich habe auch ein C-Buch hier rumliegen aber ich war leider so dämlich nur unter "structur" zu lesen. Hätte ich unter "Bitfelder" gekuckt hätt ich mir den Post sparen können. :p "Probier´s mal mit Gemütlichkeit :)" Das hatte nix mit Ungeduld zu tun das ich nochmal selbst gepostet habe, aber hättest du den Topic gelesen wenn er inzwischen auf der 2ten Seite gelandet wäre? ;) Frohe Weihnachten! Gruß Markus
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.