headerphoto

Výčtový typ

Výčtový typ (enum) je v podstatě seznam symbolických konstant, který definuje všechny možné hodnoty, jichž může proměnná tohoto typu nabývat.

Jedná se o pojmenování celočíselných hodnot. Vnitřně jsou konstanty reprezentovány celými čísly. Výčtový typ enum definujeme podobně jako u struktury nejčastěji jako uživatelský datový typ (typedef).

Výčtový typ používáme proto, abychom si nemuseli pamatovat různé číselné hodnoty. Když si tyto hodnoty pojmenujeme, jsou pro nás lépe zapamatovatelné.

Definice výčtového typu:

typedef enum{
     CERVENA,
     CERNA,
     MODRA,
     ZELENA
    } Tbarvy;

- definuje datový typ Tbarvy s hodnotami CERVENA, CERNA, MODRA, ZELENA. Řekli jsme si, že vnitřně jsou hodnoty výčtových typů reprezentovány celými čísly. V praxi to vypadá tak, že každé symbolické konstantě v definici výčtového typu je přiřazena některá číselná konstanta podle pořadí v seznamu. Hodnoty se číslují od nuly, takže CERVENA ma hodnotu 0, CERNA má hodnotu 1 atd.

konstanty ale nemusíme vždy číslovat automaticky, můžeme jim při jejich definici přiřadit libovolné, námi požadované číselné hodnoty.

//ukázka kódu
Tbarvy barva1;
barva1 = MODRA;
if (barva1 == MODRA) printf("barva je modrá a má hodnotu %d\n", MODRA);

- deklaruje proměnnou barva1, která může nabývat výše vyjmenované hodnoty (CERVENA, CERNA, MODRA, ZELENA - nejedná se o textovou hodnotu, jenom o název odpovídajícího čísla). Ty jsou zároveň reprezentovány celočíselnými hodnotami 0,1,2,3. Proměnná barva1 je nastavená na hodnotu MODRA.

Design downloaded from Free Templates - your source for free web templates