Frage zu sizeof Operator (C++)
lima-city → Forum → Programmiersprachen → C/C++ und D
annehmen
byte
code
compiler
dank
ergebnis
folgende struktur
folgender ausdruck
idee
jemand
kleine frage
liegen
operator
passende zahl
struktur
test
-
Hallo,
ich hab da mal eine kleine Frage zum sizeof Operator.
Ich definiere folgende Struktur:
struct FileHeader { int numSceneObjects; // 4 Byte char uuid[32]; // 32 Byte bool hasAnim; // 1 Byte (oder etwa nicht?) };
Nun sollte man doch annehmen, dass die Größe der Struktur 4 + 32 + 1 Byte ist.
Wenn ich aber die Rückgabe des sizeof Operators in eine Variable schreibe, erhalte ich 40?!
Wenn aber statt sizeof(FileHeader) folgender Ausdruck verwendet wird,
int test = sizeof(int) + sizeof(char[32]) + sizeof(bool)
dann ist das Ergebnis, wie erwartet, 37.
Hat jemand eine Idee, woran das liegen könne?
PS: IDE(+Compiler) ist VS2010
Beitrag zuletzt geändert: 19.3.2011 21:33:33 von primenic -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Es bringt Geschwindigkeitsvorteile, wenn Structs eine Größe haben, die durch 4 Teilbar ist. 37 ist nicht durch 4 teilbar und die nächste passende Zahl ist 40. Daher passt der Compiler die Größe des Structs an.
Beitrag zuletzt geändert: 19.3.2011 22:00:25 von bladehunter -
Ah OK - danke.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage