C enum (Oppregning)

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 enumnø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 booleanopprettes en variabel sjekk av typen .

Du kan også erklære enumvariabler som dette.

 enum boolsk (falsk, sann) sjekk; 

Her er verdien av falselik 0 og verdien av trueer 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å inter 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 ifuttalelsen.

Du kan oppnå nesten hva som helst i C-programmering uten å bruke oppføringer. Imidlertid kan de være ganske hendige i visse situasjoner.

Interessante artikler...