C opsommingen
C enums
In deze tutorial leer je met behulp van voorbeelden over enum (enumeratie) in C-programmering.
In C-programmering is een opsommingstype (ook wel enum genoemd) een gegevenstype dat bestaat uit integrale constanten. Om opsommingen te definiëren, gebruikt de enum
zoekwoord wordt gebruikt.
enum flag {const1, const2, ..., constN};
Standaard const1 is 0, const2 is 1 enzovoort. U kunt de standaardwaarden van enum-elementen tijdens het declareren wijzigen (indien nodig).
// Changing default values of enum constants enum suit { club = 0, diamonds = 10, hearts = 20, spades = 3, };
Aangifte van opgesomd type
Wanneer u een enum-type definieert, wordt de blauwdruk voor de variabele gemaakt. Hier leest u hoe u variabelen van enum-types kunt maken.
enum boolean {false, true}; enum boolean check; // declaring an enum variable
Hier een variabele check van het type enum boolean
is gemaakt.
Je kunt enum-variabelen ook op deze manier declareren.
enum boolean {false, true} check;
Hier de waarde van false
is gelijk aan 0 en de waarde van true
is gelijk aan 1.
Voorbeeld:Opsommingstype
#include <stdio.h>
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
Day 4
Waarom worden opsommingen gebruikt?
Een enum-variabele kan slechts één waarde hebben. Hier is een voorbeeld om het te demonstreren,
#include <stdio.h>
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
Size of enum variable = 4 bytes
Hier krijgen we
4
omdat de grootte van int
is 4 bytes.
Dit maakt enum een goede keuze om met vlaggen te werken.
Hoe gebruik je opsommingen voor vlaggen?
Laten we een voorbeeld nemen,
enum designFlags {
ITALICS = 1,
BOLD = 2,
UNDERLINE = 4
} button;
Stel dat u een knop ontwerpt voor een Windows-toepassing. U kunt vlaggen instellen ITALICS , VET en ONDERSTREEP om met tekst te werken.
Er is een reden waarom alle integrale constanten een macht van 2 zijn in de bovenstaande pseudocode.
// In binary ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100
Omdat de integrale constanten een macht van 2 zijn, kun je twee of meer vlaggen tegelijk combineren zonder elkaar te overlappen met bitsgewijze OR | exploitant. Hierdoor kunt u twee of meer vlaggen tegelijk kiezen. Bijvoorbeeld,
#include <stdio.h>
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 output 5 is, weet je altijd dat vet en onderstreept wordt gebruikt.
U kunt ook vlaggen toevoegen volgens uw vereisten.
if (myDesign & ITALICS) { // code for italics }
Hier hebben we cursief toegevoegd aan ons ontwerp. Let op, alleen code voor cursief wordt geschreven binnen de if
verklaring.
Je kunt bijna alles bereiken in C-programmering zonder opsommingen te gebruiken. Ze kunnen echter in bepaalde situaties erg handig zijn.
C Taal
- C# Hello World - Uw eerste C#-programma
- C#-zoekwoorden en -ID's
- C#-variabelen en (primitieve) gegevenstypen
- C#-operators
- C# Bitsgewijze en Bit Shift-operators
- C# Basisinvoer en -uitvoer
- C#-expressies, statements en blokken (met voorbeelden)
- C# Opmerkingen
- C# switch-instructie
- C# ternair (? :) Operator
- C# break-instructie