Herakles
Profifragensteller
Moin!
Ein enum hat offenbar IMMER die Größe von einem int, auf meinem System sind das 4 Byte. Hier mal ein Beweisprogramm:
Es ist egal, wieviele Elemente ich in das enum packe oder wieviele ich mit vollkommen wahllosen Werte initialisiere, es bleibt einfach immer bei 4 Byte Speicherbelegung.
1. Habe ich das richtig getestet?
2. Wieso ist das so? Wie können endlos(?) viele verschiedene enum-Inhalte immer nur den Platz für ein int belegen?
Danke für Eure Tipps,
Herakles
Ein enum hat offenbar IMMER die Größe von einem int, auf meinem System sind das 4 Byte. Hier mal ein Beweisprogramm:
Code:
#include <stdio.h>
int main(void){
enum uga
{
TEST1,
TEST2,
TEST3 = 0x1,
TEST4,
TEST5 = 0x8,
TEST6,
TEST7,
TEST8 = 8,
TEST9,
TEST0
} furz;
printf("%d Bytes\n",sizeof(furz));
}
Es ist egal, wieviele Elemente ich in das enum packe oder wieviele ich mit vollkommen wahllosen Werte initialisiere, es bleibt einfach immer bei 4 Byte Speicherbelegung.
1. Habe ich das richtig getestet?
2. Wieso ist das so? Wie können endlos(?) viele verschiedene enum-Inhalte immer nur den Platz für ein int belegen?
Danke für Eure Tipps,
Herakles
???