C enum (výčet)

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 enumse 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 falserovna 0 a hodnota truerovna 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 intje 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ř ifpří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é.

Zajímavé články...