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
- 
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden! lima-city: Gratis werbefreier Webspace für deine eigene Homepage 

