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 enum
kä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 boolean
luodaan tyypin muuttujan tarkistus .
Voit myös ilmoittaa tällaiset enum-muuttujat.
enum looginen (väärä, tosi) tarkistus;
Tässä arvo false
on yhtä suuri kuin 0 ja arvo true
on 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 int
on 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.