C enum (popisivanje)

U ovom ćete tutorijalu uz primjere naučiti o nabrajanju (nabrajanju) u programiranju na jeziku C.

U programiranju na C, tip nabrajanja (koji se naziva i enum) je tip podataka koji se sastoji od integralnih konstanti. Za definiranje popisa koristi se enumključna riječ.

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

Prema zadanim postavkama const1 je 0, const2 je 1 i tako dalje. Možete promijeniti zadane vrijednosti enum elemenata tijekom deklaracije (ako je potrebno).

 // Promjena zadanih vrijednosti konstanti nabrajanja enum odijelo (klub = 0, dijamanti = 10, srca = 20, pikovi = 3,);

Izjava o pobrojanom tipu

Kada definirate tip nabrajanja, izrađuje se nacrt za varijablu. Evo kako možete stvoriti varijable tipova nabrajanja.

enum boolean (false, true); logička provjera nabrajanja; // deklariranje enum varijable

Ovdje enum booleanse kreira provjera varijable tipa .

Također možete deklarirati enum varijable poput ove.

 enum boolean (false, true) provjera; 

Ovdje je vrijednost falsejednaka 0, a vrijednost true1 jednaka 1.

Primjer: Tip popisivanja

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

Izlaz

 4. dan

Zašto se koriste enumi?

Promjenjiva varijabla može imati samo jednu vrijednost. Evo primjera da to demonstrirate,

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

Izlaz

 Veličina enum varijable = 4 bajta

Evo, dobivamo 4 jer je veličina int4 bajta.

To čini enum dobrim izborom za rad sa zastavicama.

Kako koristiti enume za zastave?

Uzmimo primjer,

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

Pretpostavimo da dizajnirate gumb za Windows aplikaciju. Za rad s tekstom možete postaviti zastavice ITALICS, BOLD i UNDERLINE.

Postoji razlog zašto su sve integralne konstante stepen 2 u gore navedenom pseudokodu.

 // U binarnom ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Budući da su integralne konstante stepen 2, možete kombinirati dvije ili više zastavica odjednom bez preklapanja pomoću bitnog OR | operater. To vam omogućuje odabir dvije ili više zastavica odjednom. Na primjer,

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

Izlaz

 5

Kad je izlaz 5, uvijek znate da se koristi podebljano i podcrtano.

Također, možete dodati zastavice prema svojim zahtjevima.

 if (myDesign & ITALICS) (// kod za kurziv)

Ovdje smo našem dizajnu dodali kurziv. Napomena, unutar ifiskaza je napisan samo kôd kurziv .

U programiranju na C možete postići gotovo sve bez korištenja nabrajanja. Međutim, mogu biti prilično zgodni u određenim situacijama.

Zanimljivi članci...