Programozás C-készítő

2. listatípushoz

Számlálás leírt hivatalos szó enum és vesszővel elválasztott listája felsorolás elemei:

Alapértelmezés szerint, az első átviteli elem van rendelve egy értéket 0, Minden egyes ezt követő átadóelem hozzárendelünk egy értéket, az 1-nél nagyobb az előző elem. Így az előző példában, a hamis = 0, true = 1.

Az érték hozzárendelését külön átadóelem:

ENUM (két = két, három, négy, tíz = 10. tizenegy, ötven = tíz + 40>;

Két konstans értéke 2, három és négy állandókat hozzárendelt értékek a 3. és 4., tizenegy állandó - 11.

A nevek felsorolt ​​állandók egyedinek kell lennie, és az értékek azonosak. Az előnye, hogy alkalmazásával átutalás ismertetése előtt konstansok és # define irányelv, hogy a kapcsolódó állandók világosabb; Ezen túlmenően, az inicializálás során állandók fordító tudja végrehajtani típusellenőrzés.

Számtani transzfer műveletek alakítjuk egész számok. Mivel a felsorolás típusokat a felhasználó által definiált, beadhatók saját műveleteket operátor túlterhelés.

Tartomány felsorolás által meghatározott értékek a bitek száma szükség ahhoz, hogy valamennyi értékével. Bármely pozitív egész szám lehet egyértelműen vezet felsorolás típus, de túlmenő tartományban, az eredmény nem meghatározott.

Felsorolásával lehet egy név. Mindegyik egy megnevezett enum ismertet egy egyedülálló és fel lehet használni, mint egy típusú anyagok leírására azonosítók:

Az enum utasítás után a záró zárójel azonnal kijelentik több változó ezen típusa:

Meg kell szem előtt tartani, hogy a név a címke nem igazi típus nevét. Típus neve lesz példa enum állapota. Ennek megfelelően a változókat kell nyilvánítani

enum állapota ProclStatus. Proc 2 állapot;

Azonban mindig lehet használni a kulcsszó typedef, és adja meg az átadás tényleges új nevet. Ezt általában azonnal:

typedef enum típusú megnevezni a nevét a címkén;

typedef enum _Status

Hiba = -1> állapota;

Akkor állapota lesz teljes a neve a felsorolt ​​típus. (Megjegyzendő, hogy a címke már megadott nevét _Status. Ez egy bevett gyakorlat.)

Változók, amelyek egy felsorolás típusa csak olyan értékeket vehetnek elemek hirdetést. Amikor megpróbál nekik más értékek, a fordítóprogram panaszkodni fog. például:

Állapot Psk = siker;

Állapot Psk = 1; // hiba

Kapcsolódó cikkek