Selles õpetuses saate näidete abil teada C-programmeerimise loendist (loendist).
C-programmeerimisel on loenduse tüüp (nimetatakse ka loendiks) andmetüüp, mis koosneb integraalsetest konstantidest. Enumsi määratlemiseks kasutatakse enum
märksõna.
loenduslipp (const1, const2,…, constN);
Vaikimisi on const1 0, const2 on 1 ja nii edasi. Deklaratsiooni ajal saate loendielementide vaikeväärtusi muuta (vajadusel).
// loendikonstandide vaikeväärtuste muutmine enum suit (klubi = 0, teemandid = 10, südamed = 20, labidad = 3,);
Loendatud tüübideklaratsioon
Kui määrate loenditüübi, luuakse muutuja plaan. Nii saate luua loenditüüpide muutujaid.
enum boolean (vale, tõene); enum tõeväärtuse kontroll; // deklareerime enum muutuja
Siin luuakse tüübi muutuv kontroll enum boolean
.
Samuti võite deklareerida niimoodi enum muutujaid.
enum boolean (vale, tõene) kontroll;
Siin on väärtus false
0 võrdne ja väärtus true
on 1.
Näide: loenduse tüüp
#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äljund
4. päev
Miks kasutatakse enume?
Enum muutuja võib võtta ainult ühe väärtuse. Siin on näide selle demonstreerimiseks,
#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äljund
Loendi muutuja suurus = 4 baiti
Siin saame 4, kuna suurus int
on 4 baiti.
See teeb enumile hea valiku lipudega töötamiseks.
Kuidas kasutada lippe lippude jaoks?
Võtame näite,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Oletame, et kujundate Windowsi rakenduse jaoks nuppu. Tekstiga töötamiseks saate määrata lipud ITALICS, BOLD ja UNDERLINE.
On põhjus, miks kõik integraalsed konstandid on ülaltoodud pseudokoodis 2 väärtus.
// Binaarses vormis ITALICS = 00000001 BOLD = 00000010 ALAJoon = 00000100
Kuna lahutamatu konstandi väärtus on 2, saate bitipõhise VÕI | abil kombineerida korraga kaks või enam lippu, kattumata. operaator. See võimaldab teil valida kaks või enam lippu korraga. Näiteks,
#include enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 printf("%d", myDesign); return 0; )
Väljund
5
Kui väljund on 5, teate alati, et kasutatakse rasva ja allajoonimist.
Samuti saate vastavalt oma vajadustele lippe lisada.
if (myDesign & ITALICS) (// kursiivikood)
Siin oleme lisanud oma kujundusele kursiivi. Pange tähele, et if
lause sisse on kirjutatud ainult kursiivikood .
C-programmeerimises saate loendusi kasutamata teha peaaegu kõike. Kuid need võivad teatud olukordades olla üsna käepärased.