Hi Der!
Wieso arbeitest du dann nicht mit einer solchen Struktur?
... und einem typisierten Zeiger auf diese Struktur anstatt einem void* ?
Das ist m.E. selbstverständlich.
Es ist in C durchaus möglich Zeiger zu inkrementieren bzw. bitweise zu erhöhen. [1]
Nein, nicht bitweise. C kann als kleinste Einheit ein Byte (char) adressieren.
Ja, das dachte ich mir schon. Nichtsdestotrotz sind die einzelnen Bits eines Bytes einfacher zu verwalten, als die eines 64bit-Wortes. :)
Ja, ich weiß: In structs kann man Felder definieren, die kleiner als ein Byte sind und nicht einmal an Bytegrenzen beginnen bzw. enden müssen:
typedef struct
{ int status:3;
int command:3;
int count:12;
} CTRLWORD;
Das ist mir vollkommen neu. Wie setzt der Compiler das denn um? Gehört es zum ANSI-C-Standard?
Damit deklariere ich eine gepackte Struktur von insgesamt 16bit (1 WORD) Länge [...]
12+3+3 sind doch 18. Hast du einen Fehler gemacht oder habe ich das falsch verstanden?
MfG H☼psel
"It's amazing I won. I was running against peace, prosperity, and incumbency."
George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)