C enum (Opsomming)

In deze tutorial leer je met behulp van voorbeelden over enum (opsomming) in C-programmering.

In C-programmering is een opsommingstype (ook wel enum genoemd) een gegevenstype dat bestaat uit integrale constanten. Om enums te definiëren, wordt het enumsleutelwoord gebruikt.

 enum vlag (const1, const2,…, constN); 

Standaard is const1 0, const2 is 1 enzovoort. U kunt de standaardwaarden van enum-elementen wijzigen tijdens het declareren (indien nodig).

 // Veranderen van standaardwaarden van enum-constanten enum-kleur (club = 0, ruiten = 10, harten = 20, schoppen = 3,);

Opgesomde typeaangifte

Wanneer u een opsommingstype definieert, wordt de blauwdruk voor de variabele gemaakt. Hier leest u hoe u variabelen van opsommingstypen kunt maken.

enum boolean (false, true); enum booleaanse controle; // declareren van een enum-variabele

Hier wordt een variabele controle van het type enum booleangemaakt.

U kunt ook enum-variabelen op deze manier declareren.

 enum boolean (false, true) controle; 

Hier is de waarde van falsegelijk aan 0 en de waarde van trueis gelijk aan 1.

Voorbeeld: Opsommingstype

 #include enum week (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday); int main() ( // creating today variable of enum week type enum week today; today = Wednesday; printf("Day %d",today+1); return 0; ) 

Uitvoer

 Dag 4

Waarom worden enums gebruikt?

Een enumvariabele kan slechts één waarde hebben. Hier is een voorbeeld om het te demonstreren,

 #include enum suit ( club = 0, diamonds = 10, hearts = 20, spades = 3 ) card; int main() ( card = club; printf("Size of enum variable = %d bytes", sizeof(card)); return 0; ) 

Uitvoer

 Grootte van enumvariabele = 4 bytes

Hier krijgen we 4 omdat de grootte int4 bytes is.

Dit maakt enum een ​​goede keuze om met vlaggen te werken.

Hoe enums voor vlaggen te gebruiken?

Laten we een voorbeeld nemen,

 enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button; 

Stel dat u een knop ontwerpt voor een Windows-applicatie. U kunt vlaggen ITALICS, BOLD en UNDERLINE instellen om met tekst te werken.

Er is een reden waarom alle integrale constanten een macht van 2 zijn in de bovenstaande pseudocode.

 // In binair ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Aangezien de integrale constanten een macht van 2 zijn, kunt u twee of meer vlaggen tegelijk combineren zonder elkaar te overlappen met bitsgewijze OR | operator. Hierdoor kun je twee of meer vlaggen tegelijk kiezen. Bijvoorbeeld,

 #include enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 printf("%d", myDesign); return 0; ) 

Uitvoer

 5

Als de uitvoer 5 is, weet u altijd dat vet en onderstreept wordt gebruikt.

U kunt ook vlaggen toevoegen volgens uw vereisten.

 if (myDesign & ITALICS) (// code voor cursief)

Hier hebben we cursief aan ons ontwerp toegevoegd. Let op, alleen code voor cursief wordt in de ifinstructie geschreven.

U kunt bijna alles bereiken in C-programmering zonder opsommingen te gebruiken. Ze kunnen echter in bepaalde situaties erg handig zijn.

Interessante artikelen...