C Aufzählungen
C-Enumerationen
In diesem Tutorial lernen Sie Enum (Enumeration) in der C-Programmierung anhand von Beispielen kennen.
In der C-Programmierung ist ein Aufzählungstyp (auch Enum genannt) ein Datentyp, der aus ganzzahligen Konstanten besteht. Um Aufzählungen zu definieren, muss der enum
Schlüsselwort wird verwendet.
enum flag {const1, const2, ..., constN};
Standardmäßig const1 ist 0, const2 ist 1 und so weiter. Sie können die Standardwerte von Enum-Elementen während der Deklaration ändern (falls erforderlich).
// Changing default values of enum constants enum suit { club = 0, diamonds = 10, hearts = 20, spades = 3, };
Aufzählungstyp-Deklaration
Wenn Sie einen Aufzählungstyp definieren, wird der Entwurf für die Variable erstellt. So können Sie Variablen vom Enum-Typ erstellen.
enum boolean {false, true}; enum boolean check; // declaring an enum variable
Hier eine Variable check vom Typ enum boolean
erstellt.
Sie können Enum-Variablen auch so deklarieren.
enum boolean {false, true} check;
Hier der Wert von false
gleich 0 und dem Wert von true
ist ist gleich 1.
Beispiel:Aufzählungstyp
#include <stdio.h>
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
Day 4
Warum werden Aufzählungen verwendet?
Eine Aufzählungsvariable kann nur einen Wert annehmen. Hier ist ein Beispiel, um es zu demonstrieren,
#include <stdio.h>
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
Size of enum variable = 4 bytes
Hier erhalten wir
4
wegen der Größe von int
ist 4 Bytes.
Dies macht enum zu einer guten Wahl, um mit Flags zu arbeiten.
Wie verwendet man Enums für Flags?
Nehmen wir ein Beispiel,
enum designFlags {
ITALICS = 1,
BOLD = 2,
UNDERLINE = 4
} button;
Angenommen, Sie entwerfen eine Schaltfläche für eine Windows-Anwendung. Sie können Flags KURSIV setzen , FETT und UNTERSTRICH um mit Text zu arbeiten.
Es gibt einen Grund, warum alle ganzzahligen Konstanten im obigen Pseudocode eine Potenz von 2 sind.
// In binary ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100
Da die ganzzahligen Konstanten eine Potenz von 2 sind, können Sie zwei oder mehr Flags auf einmal kombinieren, ohne sich mit bitweisem OR | zu überlappen Operator. Auf diese Weise können Sie zwei oder mehr Flaggen gleichzeitig auswählen. Zum Beispiel
#include <stdio.h>
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 fett und unterstrichen verwendet wird.
Außerdem können Sie Flags entsprechend Ihren Anforderungen hinzufügen.
if (myDesign & ITALICS) { // code for italics }
Hier haben wir unserem Design Kursivschrift hinzugefügt. Beachten Sie, dass nur Code für Kursivschrift in if
geschrieben wird Erklärung.
Sie können fast alles in der C-Programmierung erreichen, ohne Aufzählungen zu verwenden. Sie können jedoch in bestimmten Situationen ziemlich praktisch sein.
C Sprache
- C# Hello World – Ihr erstes C#-Programm
- C#-Schlüsselwörter und Bezeichner
- C#-Variablen und (primitive) Datentypen
- C#-Operatoren
- C# Bitwise- und Bit-Shift-Operatoren
- C# Grundlegende Ein- und Ausgabe
- C#-Ausdrücke, -Anweisungen und -Blöcke (mit Beispielen)
- C#-Kommentare
- C#-switch-Anweisung
- C# ternärer (? :) Operator