N'Abend,
mal angenommen man hat zwei Structs, in denen meinentwegen jeweils ein
uint8_t steckt, das in Bildfelder unterteilt ist um auf diese Art
Statusflags zu verwalten. Und beide Structs enthalten 4 von 8 Bits, die
vom einen in das andere Struct sollen, dann kann man das natürlich mit
Zuweisungen á la
1 | structa.bitxyz=structb.bitxyz
|
machen. Das ganze dann für jedes Bit und fertig ist die Sache. Aber
geht es auch eleganter?
Wenn ich ein uint8_t als Zwischenstation nutzen und ihm den Inhalt von
structa zuweise, eine passende Bitmaske "drüberunde" und das Resultat
dann in structb schreibe, wäre das doch netter. Noch besser wär's
natürlich ohne diesen Zwischenschritt. Aber da ja beide Struct
unterschiedlichen Typs sind, klappt die direkte Zuweisung nicht.
Kann man, wenn man genau weiß dass beide die gleiche Größe im Speicher
haben, nicht dafür sorgen, dass man so ne Art
compiliert bekommen?
Grüße