C enum (naštevanje)

V tej vadnici boste s pomočjo primerov spoznali enum (enumeration) v programiranju C.

Pri programiranju C je tip oštevilčenja (imenovan tudi enum) podatkovni tip, ki je sestavljen iz integralnih konstant. Za določanje naštetih enumse uporablja ključna beseda.

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

Privzeto je const1 0, const2 1 in tako naprej. Med deklaracijo lahko spremenite privzete vrednosti elementov naštevanja (če je potrebno).

 // Spreminjanje privzetih vrednosti konstant enum enum obleka (klub = 0, diamanti = 10, srca = 20, pike = 3,);

Izštevana deklaracija tipa

Ko definirate vrsto enum, se ustvari načrt spremenljivke. Tukaj je opisano, kako lahko ustvarite spremenljivke vrst enum.

enum boolean (false, true); logično preverjanje enum; // razglasitev spremenljivke enum

Tu se ustvari preverjanje spremenljivke tipa enum boolean.

Tako spremenljivke enum lahko tudi prijavite.

 enum boolean (false, true) check; 

Tu je vrednost falseenaka 0 in vrednost true1 enaka 1.

Primer: vrsta štetja

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

Izhod

 4. dan

Zakaj se uporabljajo enume?

Spremenljivka enum ima lahko samo eno vrednost. Tu je primer, ki to dokaže,

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

Izhod

 Velikost spremenljivke naštevanja = 4 bajta

Tukaj dobimo 4, ker je velikost int4 bajtov.

Zaradi tega je enum dobra izbira za delo z zastavami.

Kako uporabiti enume za zastave?

Vzemimo primer,

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

Denimo, da načrtujete gumb za aplikacijo Windows. Za delo z besedilom lahko nastavite zastavice ITALICS, BOLD in UNDERLINE.

Obstaja razlog, zakaj so vse integralne konstante stopnje 2 v zgornji psevdokodi.

 // V binarni obliki ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Ker so integralne konstante stopnje 2, lahko hkrati kombinirate dve ali več zastavic, ne da bi se prekrivali z uporabo bitov ALI | operater. To vam omogoča izbiro dveh ali več zastav hkrati. Na primer

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

Izhod

 5.

Ko je izhod 5, vedno veste, da se uporablja krepko in podčrtano.

Prav tako lahko dodate zastavice glede na vaše zahteve.

 if (myDesign & ITALICS) (// koda za ležeče)

Tu smo našemu dizajnu dodali ležečo pisavo. Upoštevajte, da je v ifstavku napisana le koda za poševno pisavo .

V programiranju C lahko dosežete skoraj vse, ne da bi uporabljali naštevanja. Vendar so lahko v določenih situacijah zelo priročni.

Zanimive Članki...