Ц енум (набрајање)

У овом упутству ћете научити о набрајању (набрајању) у програмирању на Ц уз помоћ примера.

У Ц програмирању, тип набрајања (такође назван енум) је тип података који се састоји од интегралних константи. За дефинисање набрајања enumкористи се кључна реч.

 енум заставица (цонст1, цонст2,…, цонстН); 

Подразумевано је цонст1 0, цонст2 1 и тако даље. Можете променити подразумеване вредности енум елемената током декларације (ако је потребно).

 // Промена подразумеваних вредности енум константи енум суит (клуб = 0, дијаманти = 10, срца = 20, пикови = 3,);

Декларација набројаног типа

Када дефинишете тип набрајања, креира се нацрт за променљиву. Ево како можете креирати променљиве енум типова.

енум боолеан (нетачно, тачно); логичка провера енум; // проглашавање енум променљиве

Овде enum booleanсе креира провера променљивих типа .

Такође можете пријавити енум променљиве попут ове.

 енум боолеан (фалсе, труе) провера; 

Овде је вредност falseједнака 0, а вредност true1 једнака.

Пример: Тип набрајања

 #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 јер је величина int4 бајта.

Ово чини енум добрим избором за рад са заставама.

Како користити енуме за заставе?

Узмимо пример,

 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израз за курзив написан унутар изјаве.

У програмирању на језику Ц можете постићи готово све без коришћења набрајања. Међутим, они могу бити прилично згодни у одређеним ситуацијама.

Занимљиви Чланци...