C enum (Enumeration)

V tomto tutoriáli sa pomocou príkladov dozviete o enum (enumerácii) v programovaní v jazyku C.

V programovaní C je typ výčtu (tiež nazývaný enum) dátový typ, ktorý pozostáva z integrálnych konštánt. Na definovanie enumov enumsa používa kľúčové slovo.

 príznak enum (const1, const2, …, constN); 

V predvolenom nastavení je const1 0, const2 je 1 atď. Počas deklarácie môžete zmeniť predvolené hodnoty prvkov enum (ak je to potrebné).

 // Zmena predvolených hodnôt konštánt enum enum suit (klub = 0, diamanty = 10, srdce = 20, piky = 3,);

Vymenovaná deklarácia typu

Keď definujete typ enum, vytvorí sa podrobný plán pre premennú. Tu je príklad, ako môžete vytvárať premenné typov enum.

enum boolean (false, true); výčet boolean šek; // deklarovanie premennej enum

Tu sa vytvorí premenná kontrola typu enum boolean.

Môžete tiež deklarovať podobné premenné enum.

 enum boolean (false, true) kontrola; 

Tu sa hodnota falserovná 0 a hodnota 1 truesa rovná.

Príklad: Typ výpočtu

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

Výkon

 4. deň

Prečo sa používajú enumy?

Premenná enum môže mať iba jednu hodnotu. Tu je príklad, ktorý to demonštruje,

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

Výkon

 Veľkosť premennej enum = 4 bajty

Tu dostávame 4, pretože veľkosť intje 4 bajty.

Vďaka tomu je enum dobrou voľbou pre prácu s vlajkami.

Ako používať enumy na vlajky?

Zoberme si príklad,

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

Predpokladajme, že navrhujete tlačidlo pre aplikáciu Windows. Pre prácu s textom môžete nastaviť príznaky ITALICS, BOLD a UNDERLINE.

Existuje dôvod, prečo sú všetky integrálne konštanty mocnosťou 2 vo vyššie uvedenom pseudokóde.

 // V binárnom vyjadrení ITALICS = 00000001 BOLD = 00000010 Underline = 00000100 

Pretože integrálne konštanty majú mocninu 2, môžete kombinovať dva alebo viac príznakov naraz bez toho, aby ste sa prekrývali pomocou bitového ALEBO | operátor. Takto môžete zvoliť dva alebo viac príznakov naraz. Napríklad,

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

Výkon

 5

Ak je výstup 5, vždy viete, že sa používa tučné písmo a podčiarknutie.

Môžete tiež pridať príznaky podľa svojich požiadaviek.

 if (myDesign & ITALICS) (// kód pre kurzívu)

Tu sme do nášho dizajnu pridali kurzívu. Upozorňujeme, že vo ifvýpise je napísaný iba kód kurzívy .

V programovaní C môžete dosiahnuť takmer čokoľvek bez použitia výčtov. V určitých situáciách však môžu byť veľmi šikovní.

Zaujímavé články...