C enum (enumerazione)

In questo tutorial imparerai l'enumerazione (enumerazione) nella programmazione C con l'aiuto di esempi.

Nella programmazione C, un tipo di enumerazione (chiamato anche enum) è un tipo di dati costituito da costanti integrali. Per definire le enumerazioni, enumviene utilizzata la parola chiave.

 enum flag (const1, const2,…, constN); 

Per impostazione predefinita, const1 è 0, const2 è 1 e così via. È possibile modificare i valori predefiniti degli elementi enum durante la dichiarazione (se necessario).

 // Modifica dei valori predefiniti delle costanti enum enum seme (club = 0, quadri = 10, cuori = 20, picche = 3,);

Dichiarazione di tipo enumerato

Quando si definisce un tipo di enumerazione, viene creato il progetto per la variabile. Ecco come puoi creare variabili di tipi enum.

enum boolean (false, true); enum boolean check; // dichiara una variabile enum

Qui enum booleanviene creato un controllo variabile del tipo .

Puoi anche dichiarare variabili enum come questa.

 enum boolean (false, true) check; 

Qui, il valore di falseè uguale a 0 e il valore di trueè uguale a 1.

Esempio: tipo di enumerazione

 #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; ) 

Produzione

 4 ° giorno

Perché vengono utilizzate le enumerazioni?

Una variabile enum può assumere un solo valore. Ecco un esempio per dimostrarlo,

 #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; ) 

Produzione

 Dimensione della variabile enum = 4 byte

Qui, stiamo ottenendo 4 perché la dimensione di intè 4 byte.

Questo rende enum una buona scelta per lavorare con i flag.

Come usare le enumerazioni per le bandiere?

Facciamo un esempio,

 enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button; 

Supponiamo che tu stia progettando un pulsante per l'applicazione Windows. Puoi impostare i flag ITALICS, BOLD e UNDERLINE per lavorare con il testo.

C'è una ragione per cui tutte le costanti integrali sono una potenza di 2 nello pseudocodice di cui sopra.

 // In binario ITALICO = 00000001 GRASSETTO = 00000010 SOTTOLINEATO = 00000100 

Poiché le costanti integrali sono una potenza di 2, è possibile combinare due o più flag contemporaneamente senza sovrapporsi utilizzando OR bit per bit | operatore. Ciò ti consente di scegliere due o più flag contemporaneamente. Per esempio,

 #include enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 printf("%d", myDesign); return 0; ) 

Produzione

 5

Quando l'output è 5, sai sempre che vengono utilizzati grassetto e sottolineato.

Inoltre, puoi aggiungere flag in base alle tue esigenze.

 if (myDesign & ITALICS) (// code for italics)

Qui abbiamo aggiunto il corsivo al nostro design. Nota, solo il codice per il corsivo è scritto all'interno ifdell'istruzione.

Puoi realizzare quasi tutto nella programmazione C senza usare enumerazioni. Tuttavia, possono essere molto utili in determinate situazioni.

Articoli interessanti...