V tomto kurzu se dozvíte o výčtu (výčtu) v programování C pomocí příkladů.
V programování C je typ výčtu (nazývaný také enum) datový typ, který se skládá z integrálních konstant. K definování výčtu enum
se používá klíčové slovo.
příznak enum (const1, const2,…, constN);
Ve výchozím nastavení je const1 0, const2 je 1 atd. Během deklarace můžete změnit výchozí hodnoty prvků výčtu (je-li to nutné).
// Změna výchozích hodnot konstant enum enum oblek (klub = 0, diamanty = 10, srdce = 20, piky = 3,);
Vyjmenovaná deklarace typu
Když definujete typ výčtu, vytvoří se podrobný plán pro proměnnou. Zde můžete vytvořit proměnné typů výčtu.
enum boolean (false, true); výčet boolean check; // deklarování proměnné enum
Zde se vytvoří kontrola proměnné typu enum boolean
.
Můžete také deklarovat proměnné enum, jako je tento.
výčet boolean (false, true) kontrola;
Zde je hodnota false
rovna 0 a hodnota true
rovna 1.
Příklad: Typ výč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ýstup
4. den
Proč se používají výčty?
Proměnná výčtu může mít pouze jednu hodnotu. Zde je příklad, který to demonstruje,
#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ýstup
Velikost proměnné enum = 4 bajty
Tady dostáváme 4, protože velikost int
je 4 bajty.
Díky tomu je enum dobrou volbou pro práci s příznaky.
Jak používat výčty pro příznaky?
Vezměme si příklad,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Předpokládejme, že navrhujete tlačítko pro aplikaci Windows. Můžete nastavit příznaky ITALICS, BOLD a UNDERLINE pro práci s textem.
Existuje důvod, proč jsou všechny integrální konstanty ve výše uvedeném pseudokódu mocninou 2.
// V binárním formátu ITALICS = 00000001 BOLD = 00000010 PODKLAD = 00000100
Protože integrální konstanty jsou mocninou 2, můžete kombinovat dva nebo více příznaků najednou bez překrývání pomocí bitového NEBO | operátor. To vám umožní vybrat dva nebo více příznaků najednou. Napří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ýstup
5
Když je výstup 5, vždy víte, že se používá tučné písmo a podtržení.
Můžete také přidat příznaky podle svých požadavků.
if (myDesign & ITALICS) (// kód pro kurzívu)
Zde jsme do našeho designu přidali kurzívu. Poznámka, uvnitř if
příkazu je napsán pouze kód kurzívy .
V programování C můžete dosáhnout téměř čehokoli bez použití výčtu. V určitých situacích však mohou být velmi užitečné.