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 enum
Schlü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 boolean
angelegt.
Sie können auch solche Enum-Variablen deklarieren.
enum boolean (false, true) check;
Hier ist der Wert von false
gleich 0 und der Wert von true
ist 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 int
4 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 if
Anweisung 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.