Roland schrieb:
> Es ist Plattform- und Kompilerabhängig, wie dein Struct letztlich im
> Speicher aussehen wird. So kann ess durchaus passieren, dass auf
> Plattformen 3Byte Speicher genutzt werden.
Im Prinzip richtig - allerdings kann man bei Prozessoren für allgemeinen
Einsatz davon ausgehen, dass diese 3 Bits dicht an dicht liegen. Offen
ist eher, ob die Bits von links nach rechts oder umgekehrt vergeben
werden, und wie es sich verhält, wenn ein Bitfeld >1 über eine
Wortgrenze zu liegen kommt.
David Mueller schrieb:
> Wenn ich auf .val verzichten kann, ist es denoch erforderlich eine union
> zu haben um sicher zu stellen das nur ein UINT8 verwendet wird?
Nein. Eine Union ist stets so gross wie das grösste Element, in Bytes,
aufgerundet. In diesem Fall also mit Sicherheit mindesten 1 Byte. Wenn
die Bitfield-Struct aber tatsächlich mal 3 Bytes gross sein sollte, dann
wird sie durch .val nicht kleiner.