Eigentlich hatte ich nach dem Lesen einiger C-Bücher den Eindruck, die kleinste 'Einheit' in C wäre char mit einer Länge von einem Byte (auf Standard-Systemen). Zumindest bei C99.
Jetzt habe ich aber festgestellt, das beispielsweise das struct iphdr aus ip.h die beiden ersten 4bit Felder des IP-Headers per
Code: Select all
unsigned int ihl:4;
unsigned int version:4;
Umgekehrt wird aber das 3bit Flags-Feld vernachlässigt und stattdessen zusammen mit dem Fragment Offset zu 16bit zusammengefasst.
Ist es jetzt möglich Variablen < 8bit zu erstellen/benutzen, man kann aber nur jeweils 8bit aufteilen, also 4bit gefolgt von 4, 3 von 5... aber nicht 3bit gefolgt von 13bit?
Vielleicht weiss ja auch jemand wo ich dazu genauere Infos bekommen könnte, hab bisher leider nichts gefunden.
Vielen Dank
Tim