Syntax
AufreumDer Standardwert von Enumeration_Constant_Element-1 beträgt 0, der Wert von Enumeration_Constant_Element-2 ist 1, der Wert der Enumeration_Constant_Element-3 2 und der Wert der Enumeration_Constant_Element-N ist (n-1) (N-1).
Tiefer Eintauchen in Enum
Da wir nun die Syntax kennen, um den Aufzählungstyp zu definieren, sollten wir uns ein Beispiel ansehen:
AufzündungsfehlerDas Schlüsselwort „Enum“ muss immer verwendet werden, um den Aufzählungstyp zu definieren. Wenn Sie also einen Aufzählungstyp definieren möchten, müssen Sie das Schlüsselwort „Enum“ vor dem Schlüsselwort verwenden . Nach dem Schlüsselwort "Enum" müssen Sie eine gültige Kennung verwenden, um die zu definieren .
Im obigen Beispiel weist der Compiler dem Integralwert IO_Error zu: 0, Disk_error dem integralen Wert: 1 und network_error dem integralen Wert: 2. Standardmäßig wird dem ersten Aufzündungselement immer der Wert 0 zugewiesen, dem nächsten Auflaufelement wird der Wert 1 zugewiesen und so weiter.
Dieses Standardverhalten kann bei Bedarf geändert werden, indem der konstante integrale Wert explizit wie folgt zugewiesen wird:
AufzündungsfehlerIn diesem Fall wird der IO_Error vom Programmierer ausdrücklich einem Wert von 2 zugeordnet. Disk_error wird vom Compiler einem Wert von 3 zugewiesen. Network_error wird vom Programmer explizit dem Wert von 8 zugeordnet, und Print_error wird dem nächsten zugewiesen Integraler Wert des vorherigen Enum -Element -Network_error (i.e., 9) durch den Compiler.
Sie verstehen jetzt, wie Sie einen benutzerdefinierten Aufzählungsart in C definieren können. Ist es möglich, eine Variable des Enum -Typs zu deklarieren (da wir eine Variable des Ganzzahltyps deklarieren können)? Ja ist es! Sie können die Enum -Variable wie folgt deklarieren:
Enum -Fehler hw_error;Auch hier ist "Enum" das Schlüsselwort hier, "Fehler" ist der Enum -Typ und "hw_error" ist eine Enum -Variable.
Wir werden uns nun die folgenden Beispiele ansehen, um die verschiedenen Verwendungen von Enum zu verstehen:
Beispiel 1: Standard -Definitionsnutzung
In diesem Beispiel lernen Sie, wie Sie den Aufzählungstyp mit Standardwerten konstant definieren können. Der Compiler kümmert sich darum, die Standardwerte den Enum -Elementen zuzuweisen. Im Folgenden sehen Sie das Beispielprogramm und die entsprechende Ausgabe.
#enthaltenBeispiel 2: Benutzerdefinierte Definitionsnutzung
In diesem Beispiel lernen Sie, wie Sie den Aufzählungstyp mit einem benutzerdefinierten konstanten Wert definieren. In diesem Beispiel können Sie auch verstehen, wie die Initialisierung der benutzerdefinierten Konstanten in jeder zufälligen Reihenfolge durchgeführt werden kann. In diesem Beispiel haben wir den konstanten Wert für die 1 explizit definiertst und 3Rd Enum -Elemente (ich.e., IO_Error bzw. network_error), aber wir haben die explizite Initialisierung für die 2 übersprungennd und 4th Elemente. Es liegt nun in der Verantwortung des Compilers, den Standardwerten den 2 zuzuweisennd und 4th Enum -Elemente (ich.e., Disk_error bzw. print_error). Disk_error wird einem Wert von 3 zugewiesen und Print_error wird einem Wert von 9 zugewiesen. Unten sehen Sie das Beispielprogramm und die Ausgabe.
#enthaltenBeispiel 3: Enum -Definition mit konstantem Ausdruck
In diesem Beispiel lernen Sie, wie Sie den konstanten Ausdruck verwenden, um den konstanten Wert für Enumelemente zu definieren.
#enthaltenBeispiel 4: Enum Scope
In diesem Beispiel erfahren Sie, wie die Scoping -Regel für Enum funktioniert. Ein Makro (#define) hätte verwendet werden können, um eine Konstante anstelle des Enum zu definieren, aber die Scoping -Regel funktioniert nicht für Makro.
#enthaltenVergleich zwischen Enum und Makro
Aufreum | Makro |
Scoping -Regel gilt für Enum. | Die Scoping -Regel gilt nicht für Makro. |
Die Standard -Enum -Wert -Zuordnung erfolgt automatisch. Enum ist sehr hilfreich bei der Definition einer großen Anzahl von Konstanten. Der Compiler übernimmt die Initialisierung des Standardwertwertwerts. | Die Konstantenwerte der Makro müssen vom Programmierer immer explizit erwähnt werden. Dies könnte ein mühsamer Prozess für eine große Anzahl von Konstanten sein, da der Programmierer bei der Definition des Makros immer manuell jeden konstanten Wert definieren muss. |
Abschluss
Das Enum-Programm in C kann als optionale Methode für eigenständige Programme oder kleine Projekte angesehen werden, da Programmierer immer MACRO anstelle eines Enum verwenden können. Erfahrene Programmierer verwenden jedoch in der Regel Enum über Makro für groß angelegte Softwareentwicklungsprojekte. Dies hilft beim Schreiben von sauberen und lesbaren Programmen.