C enum (Aufzählung)

In diesem Tutorial lernen Sie anhand von Beispielen die Aufzählung (Aufzählung) in der C-Programmierung kennen.

In der C-Programmierung ist ein Aufzählungstyp (auch Enum genannt) ein Datentyp, der aus Integralkonstanten besteht. Zum Definieren von Aufzählungen wird das enumSchlüsselwort verwendet.

 Aufzählungsflag (const1, const2,…, constN); 

Standardmäßig ist const1 0, const2 ist 1 und so weiter. Sie können die Standardwerte von Enum-Elementen während der Deklaration ändern (falls erforderlich).

 // Ändern der Standardwerte von Enum-Konstanten Enum Suit (Club = 0, Diamonds = 10, Hearts = 20, Spades = 3,);

Aufzählungstypdeklaration

Wenn Sie einen Aufzählungstyp definieren, wird der Entwurf für die Variable erstellt. So können Sie Variablen mit Aufzählungstypen erstellen.

enum boolean (falsch, wahr); enum boolean check; // Deklarieren einer Enum-Variablen

Hier wird eine Variablenprüfung des Typs enum booleanangelegt.

Sie können auch solche Enum-Variablen deklarieren.

 enum boolean (false, true) check; 

Hier ist der Wert von falsegleich 0 und der Wert von trueist gleich 1.

Beispiel: Aufzählungstyp

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

Ausgabe

 Tag 4

Warum werden Aufzählungen verwendet?

Eine Enum-Variable kann nur einen Wert annehmen. Hier ist ein Beispiel, um es zu demonstrieren:

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

Ausgabe

 Größe der Aufzählungsvariablen = 4 Bytes

Hier erhalten wir 4, da die Größe int4 Bytes beträgt.

Dies macht enum zu einer guten Wahl, um mit Flags zu arbeiten.

Wie verwende ich Aufzählungen für Flags?

Nehmen wir ein Beispiel,

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

Angenommen, Sie entwerfen eine Schaltfläche für die Windows-Anwendung. Sie können die Flags ITALICS, BOLD und UNDERLINE setzen, um mit Text zu arbeiten.

Es gibt einen Grund, warum alle Integralkonstanten im obigen Pseudocode eine Potenz von 2 sind.

 // In binär ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Da die Integralkonstanten eine Potenz von 2 sind, können Sie zwei oder mehr Flags gleichzeitig kombinieren, ohne sich mit bitweisem ODER | zu überlappen Operator. Auf diese Weise können Sie zwei oder mehr Flags gleichzeitig auswählen. Beispielsweise,

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

Ausgabe

 5

Wenn die Ausgabe 5 ist, wissen Sie immer, dass Fettdruck und Unterstreichung verwendet werden.

Sie können auch Flags entsprechend Ihren Anforderungen hinzufügen.

 if (myDesign & ITALICS) (// Code für Kursivschrift)

Hier haben wir unser Design kursiv dargestellt. Beachten Sie, dass nur kursiver Code in die ifAnweisung geschrieben wird.

In der C-Programmierung können Sie fast alles erreichen, ohne Aufzählungen zu verwenden. In bestimmten Situationen können sie jedoch sehr praktisch sein.

Interessante Beiträge...