Hallo zusammen!
Ich hätte hier eine Frage bezüglich der Speicherbelegung in C.
Normalerweise benötigen die Typen ja folgenden Speicher (Windows und VisualC++):
- char 1byte
- int 4byte
- double 8byte
Soweit ist's klar, wenn ich nur einen dieser Typen verwende gelten diese Werte.
Jetzt meine Frage: Wie sieht's aus, wenn ich mir eine neue Struktur definiere?
Ich hab's vorhin ausprobiert, mit "sizeof" kann ich mir ja den tatsächlich benötigten Speicher anzeigen lassen, z.B. von folgendem:
struct s_Test
{
char Titel[5];
int Anzahl;
double Genau;
};
Warum belegt der aber 24byte?? Es müssten doch 5+4+8= 17byte sein, oder nicht?
Bin schonmal gespannt, C ist manchmal schon wirr...
Grüße,
Michael