C enum (Enumerare)

În acest tutorial, veți afla despre enum (enumerare) în programarea C cu ajutorul exemplelor.

În programarea C, un tip de enumerare (numit și enum) este un tip de date care constă din constante integrale. Pentru a defini enumeri, enumse folosește cuvântul cheie.

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

În mod implicit, const1 este 0, const2 este 1 și așa mai departe. Puteți modifica valorile implicite ale elementelor enum în timpul declarației (dacă este necesar).

 // Modificarea valorilor implicite ale constantelor enum suit enum (club = 0, diamante = 10, inimi = 20, pică = 3,);

Declarație de tip enumerată

Când definiți un tip enum, se creează planul variabilei. Iată cum puteți crea variabile de tipuri enum.

enum boolean (fals, adevărat); enum boolean check; // declararea unei variabile enum

Aici enum booleanse creează o verificare variabilă de tip .

De asemenea, puteți declara astfel de variabile enum.

 enum boolean (false, true) verificare; 

Aici, valoarea lui falseeste egală cu 0, iar valoarea lui trueeste egală cu 1.

Exemplu: Tipul de enumerare

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

Ieșire

 Ziua 4

De ce se folosesc enumere?

O variabilă enum poate lua o singură valoare. Iată un exemplu pentru a-l demonstra,

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

Ieșire

 Dimensiunea variabilei enum = 4 octeți

Aici, obținem 4, deoarece dimensiunea inteste de 4 octeți.

Acest lucru face din enum o alegere bună pentru a lucra cu steaguri.

Cum se utilizează enumere pentru steaguri?

Să luăm un exemplu,

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

Să presupunem că proiectați un buton pentru aplicația Windows. Puteți seta steaguri ITALICS, BOLD și UNDERLINE pentru a lucra cu text.

Există un motiv pentru care toate constantele integrale sunt o putere de 2 în pseudocodul de mai sus.

 // În binar ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Deoarece constantele integrale sunt o putere de 2, puteți combina două sau mai multe semnalizatoare simultan fără a se suprapune folosind OR bit | operator. Acest lucru vă permite să alegeți două sau mai multe steaguri simultan. De exemplu,

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

Ieșire

 5

Când ieșirea este 5, știți întotdeauna că se utilizează caractere aldine și subliniate.

De asemenea, puteți adăuga steaguri în funcție de cerințele dvs.

 if (myDesign & ITALICS) (// cod pentru cursiv)

Aici, am adăugat cursiv la designul nostru. Notă, numai codul pentru cursiv este scris în ifdeclarație.

Puteți realiza aproape orice în programarea C fără a utiliza enumerări. Cu toate acestea, pot fi destul de la îndemână în anumite situații.

Articole interesante...