C enum (luettelo)

Tässä opetusohjelmassa opit C-ohjelmoinnin enumista (luettelosta) esimerkkien avulla.

C-ohjelmoinnissa laskentatyyppi (jota kutsutaan myös enumiksi) on tietotyyppi, joka koostuu integraaleista vakioista. Enumien määrittelemiseksi enumkäytetään avainsanaa.

 enum-lippu (const1, const2,…, constN); 

Oletusarvoisesti const1 on 0, const2 on 1 ja niin edelleen. Voit muuttaa enum-elementtien oletusarvoja ilmoituksen aikana (tarvittaessa).

 // Enum-vakioiden oletusarvojen muuttaminen enum suit (kerä = 0, timantit = 10, sydämet = 20, lapiot = 3,)

Luetteloitu tyyppivakuutus

Kun määrität laskentatyypin, muuttujan suunnitelma luodaan. Näin voit luoda enum-tyyppisiä muuttujia.

enum totuusarvo (väärä, tosi); enum looginen tarkistus; // ilmoitetaan enum-muuttuja

Tässä enum booleanluodaan tyypin muuttujan tarkistus .

Voit myös ilmoittaa tällaiset enum-muuttujat.

 enum looginen (väärä, tosi) tarkistus; 

Tässä arvo falseon yhtä suuri kuin 0 ja arvo trueon yhtä suuri kuin 1.

Esimerkki: Luettelotyyppi

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

Tuotos

 Päivä 4

Miksi enumeja käytetään?

Enum-muuttuja voi ottaa vain yhden arvon. Tässä on esimerkki sen osoittamiseksi,

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

Tuotos

 Enum-muuttujan koko = 4 tavua

Täällä saamme 4, koska koko inton 4 tavua.

Tämä tekee enumista hyvän valinnan työskennellä lippujen kanssa.

Kuinka käyttää lippuja lipuille?

Otetaanpa esimerkki,

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

Oletetaan, että suunnittelet painikkeen Windows-sovellukselle. Voit asettaa liput ITALICS, BOLD ja Underline toimimaan tekstin kanssa.

On syy, miksi kaikki integraalivakiot ovat 2: n voimaa yllä olevassa pseudokoodissa.

 // Binaarina ITALICS = 00000001 BOLD = 00000010 ALAJONTA = 00000100 

Koska integraalivakioiden arvo on 2, voit yhdistää kaksi tai useampaa lippua kerralla päällekkäin käyttämällä bittiä OR | operaattori. Tämän avulla voit valita kaksi tai useampia lippuja kerralla. Esimerkiksi,

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

Tuotos

 5

Kun tulos on 5, tiedät aina, että lihavoitua ja alleviivausta käytetään.

Voit myös lisätä lippuja tarpeidesi mukaan.

 if (myDesign & ITALICS) (// kursivoitu koodi)

Täällä olemme lisänneet suunnitteluun kursiivin. Huomaa, että vain kursivoitu koodi kirjoitetaan lauseeseen if.

Voit suorittaa melkein mitä tahansa C-ohjelmoinnissa käyttämättä luetteloita. Ne voivat kuitenkin olla melko käteviä tietyissä tilanteissa.

Mielenkiintoisia artikkeleita...