Ebben az oktatóanyagban példák segítségével megismerheti a C programozásban szereplő enumot (felsorolást).
A C programozásban a felsorolás típusa (más néven enum) olyan adattípus, amely integrál konstansokból áll. Az enums meghatározásához a enum
kulcsszót használják.
enum jelző (const1, const2,…, constN);
Alapértelmezés szerint az const1 értéke 0, az const2 értéke 1 és így tovább. A deklaráció során megváltoztathatja az enum elemek alapértelmezett értékeit (ha szükséges).
// Az enum konstansok alapértelmezett értékeinek megváltoztatása enum suit (klub = 0, gyémánt = 10, szív = 20, pikk = 3,);
Felsorolt típusnyilatkozat
Enum típus definiálásakor létrejön a változó tervrajza. Így hozhat létre enum típusú változókat.
enum logikai (hamis, igaz); enum logikai ellenőrzés; // enum változó deklarálása
Itt enum boolean
létrehozzák a típus változó ellenőrzését .
Az enum változókat is deklarálhatja.
enum logikai (hamis, igaz) ellenőrzés;
Itt az értéke false
0, az értéke pedig true
1.
Példa: Felsorolás típusa
#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; )
Kimenet
4. nap
Miért használnak enumokat?
Egy enum változó csak egy értéket vehet fel. Itt van egy példa annak bemutatására,
#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; )
Kimenet
Az enum változó mérete = 4 bájt
Itt kapunk 4-et, mert a mérete int
4 bájt.
Ez az ENUM jó választás a zászlókkal való együttműködésre.
Hogyan lehet az enumokat használni a zászlókhoz?
Vegyünk egy példát,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Tegyük fel, hogy egy gombot tervez a Windows alkalmazáshoz. Beállíthatja az ITALICS, a BOLD és az UNDERLINE jelzőket a szöveg használatához.
Van egy oka annak, hogy az összes integrál konstans értéke 2 a fenti álkódban.
// bináris ITALICS = 00000001 BOLD = 00000010 ALÁHúzás = 00000100
Mivel az integrál konstansok 2-es hatványok, két vagy több jelzőt kombinálhat egyszerre átfedés nélkül a bitenkénti VAGY | operátor. Ez lehetővé teszi, hogy egyszerre két vagy több zászlót válasszon. Például,
#include enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 printf("%d", myDesign); return 0; )
Kimenet
5.
Ha a kimenet 5, akkor mindig tudja, hogy félkövér és aláhúzás szerepel.
Emellett hozzáadhat zászlókat az Ön igényei szerint.
if (myDesign & ITALICS) (// dőlt betűs kód)
Itt dőlt betűvel egészítettük ki a tervünket. Megjegyzés: csak a dőlt betűs kódot írják az if
utasításba.
A C programozásban szinte bármit meg lehet valósítani felsorolás használata nélkül. Bizonyos helyzetekben azonban nagyon hasznosak lehetnek.