Programmeren in C/Datatypes: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Kleuske (overleg | bijdragen)
Geen bewerkingssamenvatting
Kleuske (overleg | bijdragen)
Regel 198:
int i;
 
k = Rood; /* Ok */
i = Rood; /* FOUT!Ok, de enum wordt "gepromoveerd" naar een int */
k = 021231; /* FOUT!, hoewel de compiler er geen error op zal genereren. */
</source>
 
Het type dat de ''enum'' representeert is sterk van de compiler afhankelijk. Dit '''kan''' een ''int'' zijn, maar het type is compiler-afhankelijk. De toekenning "''k=21231''" neemt aan dat dit type groot genoeg is om 21231 te bevatten, maar er bestaat geen garantie dat dat inderdaad zo is. Bovendien is het doel van een enum een type te definieren dat alleen bepaalde waarden kan bevatten, als we daar dan allerlei andere waarden in gaan stoppen, zetten we onze medeprogrammeurs op het verkeerde been en de fouten zijn voorgeprogrammeerd. Niet goed, niet doen, dus.
 
== ''void'' ==
 
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.