I denne opplæringen lærer du om enum (enumeration) i C-programmering ved hjelp av eksempler.
I C-programmering er en oppregningstype (også kalt enum) en datatype som består av integrerte konstanter. For å definere enums brukes enum
nøkkelordet.
enum flagg (const1, const2,…, constN);
Som standard er const1 0, const2 er 1 og så videre. Du kan endre standardverdier for enum-elementer under erklæring (om nødvendig).
// Endring av standardverdier for enum konstanter enum dress (club = 0, diamanter = 10, hjerter = 20, spader = 3,);
Oppregnet typedeklarasjon
Når du definerer en enumtype, opprettes tegningen for variabelen. Slik kan du lage variabler av enumtyper.
enum boolsk (falsk, sant); enum boolsk sjekk; // erklære en enum-variabel
Her enum boolean
opprettes en variabel sjekk av typen .
Du kan også erklære enumvariabler som dette.
enum boolsk (falsk, sann) sjekk;
Her er verdien av false
lik 0 og verdien av true
er lik 1.
Eksempel: Oppregningstype
#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; )
Produksjon
Dag 4
Hvorfor brukes enums?
En enum-variabel kan ta bare én verdi. Her er et eksempel for å demonstrere det,
#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; )
Produksjon
Størrelse på enum-variabel = 4 byte
Her får vi 4 fordi størrelsen på int
er 4 byte.
Dette gjør enum til et godt valg å jobbe med flagg.
Hvordan bruke enums for flagg?
La oss ta et eksempel,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Anta at du designer en knapp for Windows-applikasjon. Du kan stille inn flaggene ITALIA, FETT og UNDERSTREKTE for å arbeide med tekst.
Det er en grunn til at alle integrerte konstanter er en kraft på 2 i ovennevnte pseudokode.
// I binær ITALIA = 00000001 FETT = 00000010 UNDERSTREKNING = 00000100
Siden de integrerte konstantene har en styrke på 2, kan du kombinere to eller flere flagg samtidig uten å overlappe ved hjelp av bitvis ELLER | operatør. Dette lar deg velge to eller flere flagg samtidig. For eksempel,
#include enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 printf("%d", myDesign); return 0; )
Produksjon
5
Når utgangen er 5, vet du alltid at fet og understreket brukes.
Du kan også legge til flagg i henhold til dine krav.
hvis (myDesign & ITALICS) (// kode for kursiv)
Her har vi lagt kursiv til designet vårt. Merk at bare kode for kursiv er skrevet inne i if
uttalelsen.
Du kan oppnå nesten hva som helst i C-programmering uten å bruke oppføringer. Imidlertid kan de være ganske hendige i visse situasjoner.