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 enum
sa 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 false
rovná 0 a hodnota 1 true
sa 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ť int
je 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 if
vý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í.