C enum (Uppräkning)

I denna handledning lär du dig om enum (uppräkning) i C-programmering med hjälp av exempel.

I C-programmering är en uppräkningstyp (även kallad enum) en datatyp som består av integrerade konstanter. För att definiera enum används enumnyckelordet.

 enum-flagga (const1, const2,…, constN); 

Som standard är const1 0, const2 är 1 och så vidare. Du kan ändra standardvärden för enum-element under deklarationen (om det behövs).

 // Ändring av standardvärden för enum-konstanter enum-färg (klubb = 0, diamanter = 10, hjärtan = 20, spader = 3,);

Uppräknad typdeklaration

När du definierar en enumtyp skapas ritningen för variabeln. Så här kan du skapa variabler av enumtyper.

enum boolean (falskt, sant); enum boolesk check; // förklarar en enum-variabel

Här enum booleanskapas en variabelkontroll av typen .

Du kan också deklarera enumvariabler som denna.

 enum boolean (false, true) check; 

Här är värdet av falselika med 0 och värdet av trueär lika med 1.

Exempel: Uppräkningstyp

 #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; ) 

Produktion

 Dag 4

Varför används enums?

En enum-variabel kan bara ta ett värde. Här är ett exempel för att demonstrera 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; ) 

Produktion

 Storleken på enum-variabeln = 4 byte

Här får vi 4 eftersom storleken intär 4 byte.

Detta gör enum till ett bra val att arbeta med flaggor.

Hur använder jag enums för flaggor?

Låt oss ta ett exempel,

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

Antag att du utformar en knapp för Windows-applikationen. Du kan ställa in flaggor ITALIEN, FETT och UNDERSTREP för att arbeta med text.

Det finns en anledning till att alla integralkonstanter har en effekt på 2 i ovanstående pseudokod.

 // I binärt ITALIK = 00000001 FETT = 00000010 UNDERSTREP = 00000100 

Eftersom integralkonstanterna har en effekt på 2 kan du kombinera två eller flera flaggor samtidigt utan att överlappa med bitvis ELLER | operatör. Detta gör att du kan välja två eller flera flaggor samtidigt. Till exempel,

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

Produktion

 5

När utdata är 5 vet du alltid att fetstil och understrykning används.

Du kan också lägga till flaggor enligt dina krav.

 if (myDesign & ITALICS) (// kod för kursiv)

Här har vi lagt kursiv stil till vår design. Observera att endast kod för kursiv skrivs inuti ifuttalandet.

Du kan åstadkomma nästan vad som helst i C-programmering utan att använda uppräkningar. De kan dock vara ganska praktiska i vissa situationer.

Intressanta artiklar...