У овом упутству ћете научити о набрајању (набрајању) у програмирању на Ц уз помоћ примера.
У Ц програмирању, тип набрајања (такође назван енум) је тип података који се састоји од интегралних константи. За дефинисање набрајања enum
користи се кључна реч.
енум заставица (цонст1, цонст2,…, цонстН);
Подразумевано је цонст1 0, цонст2 1 и тако даље. Можете променити подразумеване вредности енум елемената током декларације (ако је потребно).
// Промена подразумеваних вредности енум константи енум суит (клуб = 0, дијаманти = 10, срца = 20, пикови = 3,);
Декларација набројаног типа
Када дефинишете тип набрајања, креира се нацрт за променљиву. Ево како можете креирати променљиве енум типова.
енум боолеан (нетачно, тачно); логичка провера енум; // проглашавање енум променљиве
Овде enum boolean
се креира провера променљивих типа .
Такође можете пријавити енум променљиве попут ове.
енум боолеан (фалсе, труе) провера;
Овде је вредност false
једнака 0, а вредност true
1 једнака.
Пример: Тип набрајања
#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; )
Оутпут
4. дан
Зашто се користе енуми?
Енум променљива може имати само једну вредност. Ево примера да то демонстрирате,
#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; )
Оутпут
Величина променљиве набрајања = 4 бајта
Ево, добијамо 4 јер је величина int
4 бајта.
Ово чини енум добрим избором за рад са заставама.
Како користити енуме за заставе?
Узмимо пример,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Претпоставимо да дизајнирате дугме за Виндовс апликацију. Можете поставити заставице ИТАЛИЦС, БОЛД и УНДЕРЛИНЕ за рад са текстом.
Постоји разлог зашто су све интегралне константе степен 2 у горе наведеном псеудокоду.
// У бинарном облику ИТАЛИЦС = 00000001 БОЛД = 00000010 УНДЕРЛИНЕ = 00000100
Будући да су интегралне константе степен 2, можете комбиновати две или више заставица одједном без преклапања користећи битни ИЛИ | оператер. То вам омогућава да одаберете две или више заставица одједном. На пример,
#include enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 printf("%d", myDesign); return 0; )
Оутпут
5
Када је излаз 5, увек знате да се користи подебљано и подвучено.
Такође, можете да додате заставице према вашим захтевима.
иф (миДесигн & ИТАЛИЦС) (// код за курзив)
Овде смо нашем дизајну додали курзив. Имајте на уму да је само if
израз за курзив написан унутар изјаве.
У програмирању на језику Ц можете постићи готово све без коришћења набрајања. Међутим, они могу бити прилично згодни у одређеним ситуацијама.