Forum: Compiler & IDEs Speicherbedarf struct


von peterguy (Gast)


Lesenswert?

Servus,

wenn ich einen struct wie folgt definiere:
1
typedef struct {
2
   u16 wert1 : 1;
3
   u16 wert2 : 1;
4
   u16 wert3 : 1;
5
   u16 wert4 : 1;
6
} tWerte;

wie groß ist dann der benötigte Speicher für jedes struct vom typ 
"tWerte"?

von Sven P. (Gast)


Lesenswert?

Hängt von der Architektur ab, denk ich. Normalerweise ein Byte.

von gast (Gast)


Lesenswert?

4x16Bit = 64Bit

von Marius W. (mw1987)


Lesenswert?

Jep, ich tippe auch auf auf ein Byte Speicherbedarf.

Die 64 Bit sind falsch. Das ist ja schließlich nen Bitfeld und da wird 
normalerweise auf ganze Byte aufgerundet.

MfG
Marius

von Karl H. (kbuchegg)


Lesenswert?

Was ist u16?
unsigned int?

Dann tippe ich auf 2 Byte.
Ich weiß aber tatsächlich nicht auswendig, wie hier die Lage laut 
C-Standard ist. Ob der Compiler bei Bitfeldern den Basistyp des 
Bitfeldes berücksichtigen muss (in diesem Fall u16) oder ob er ihn 
ignorieren darf, und nur alle Bits irgendwie unterbringen muss.

Warum machst du nicht einfach einen sizeof( tWerte ) und lässt dir das 
Ergebnis ausgeben? Dann weißt du es genau.

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
Noch kein Account? Hier anmelden.