Šajā apmācībā jūs uzzināsit par enum (uzskaitījumu) C programmēšanā, izmantojot piemērus.
C programmēšanā uzskaitījuma tips (saukts arī par enum) ir datu tips, kas sastāv no neatņemamām konstantēm. Lai definētu enums, enum
tiek izmantots atslēgvārds.
enum karogs (const1, const2,…, constN);
Pēc noklusējuma const1 ir 0, const2 ir 1 un tā tālāk. Deklarēšanas laikā varat mainīt uzskaites elementu noklusējuma vērtības (ja nepieciešams).
// Enum konstantu noklusējuma vērtību mainīšana enum suit (klubs = 0, dimanti = 10, sirdis = 20, lāpstas = 3,);
Uzskaitītā tipa deklarācija
Definējot uzskaites tipu, tiek izveidots mainīgā projekts. Lūk, kā jūs varat izveidot enum veidu mainīgos.
enum būla (nepatiesa, patiesa); enum būla pārbaude; // deklarējot enum mainīgo
Šeit tiek izveidota mainīga tipa pārbaude enum boolean
.
Varat arī deklarēt šādus enum mainīgos.
enum būla (nepatiesa, patiesa) pārbaude;
Šeit vērtība false
ir vienāda ar 0 un vērtība true
ir vienāda ar 1.
Piemērs: uzskaitījuma veids
#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; )
Rezultāts
4. diena
Kāpēc tiek izmantotas enums?
Enum mainīgajam var būt tikai viena vērtība. Šeit ir piemērs, lai to parādītu,
#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; )
Rezultāts
Enum mainīgā lielums = 4 baiti
Šeit mēs iegūstam 4, jo lielums int
ir 4 baiti.
Tas padara enum labu izvēli darbam ar karodziņiem.
Kā karodziņiem izmantot enumus?
Ņemsim piemēru,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Pieņemsim, ka jūs veidojat pogu Windows lietojumprogrammai. Varat iestatīt karodziņus ITALICS, BOLD un Underline, lai tie darbotos ar tekstu.
Ir iemesls, kāpēc visas neatņemamās konstantes ir 2 jauda iepriekš minētajā pseidokodā.
// Binārā ITALICS = 00000001 DROŠI = 00000010 PAMATOJUMS = 00000100
Tā kā integrālo konstantu vērtība ir 2, varat apvienot divus vai vairākus karodziņus vienlaikus, nepārklājot, izmantojot bitu bitu OR | operators. Tas ļauj jums izvēlēties divus vai vairākus karodziņus vienlaikus. Piemēram,
#include enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 printf("%d", myDesign); return 0; )
Rezultāts
5
Kad izeja ir 5, jūs vienmēr zināt, ka tiek izmantots treknrakstā un pasvītrojums.
Varat arī pievienot karodziņus atbilstoši savām prasībām.
ja (myDesign & ITALICS) (// kursīvā kods)
Šeit mēs esam pievienojuši slīprakstu mūsu dizainam. Piezīme. Izrakstā ir ierakstīts tikai kursīva kods if
.
C programmēšanā jūs varat paveikt gandrīz visu, neizmantojot uzskaitījumus. Tomēr noteiktās situācijās tie var būt diezgan ērti.