C-Programmierung

Enum

typedef | | Call-By-Name

Mit dem Schlüsselwort enum lassen sich eigene Datentypen definieren, welche die Charakteristik einer Aufzählung haben.

enum Color {
   white,
   red,
   green,
   blue,
   black
};

Die Elemente der Aufzählung werden benamt und bekommen den Typ einer Ganzzahlkonstante.

Der Wert eines Aufzählungselementes wird automatisch vergeben. Es werden beginnend bei 0 aufsteigende Werte 0,1,2,3,… vergeben. Man kann den Wert auch explizit vorgeben:

enum Color {
   white=0,
   red=1,
   green=2,
   blue=3,
   black=4
};

Es sind auch unbenamte Aufzählngstypen erlaubt, die nur symbolische Konstanten definieren:

enum {
   key_slash = '/',
   key_backslash = '\\',
   key_return = '\n',
   key_newline = '\n',
   key_esc = 27
};

Die mit Enum definierten Werte können überall dort verwendet werden, wo int-Werte erlaubt sind.

Bei der Deklaration einer Enum-Variablen wird das Schlüsselwort enum gefolgt vom Enum-Typ angegeben:

enum Color c=white;

Um die Angabe von enum bei der Variablendeklaration zu vermeiden kann wieder typedef eingesetzt werden. Ein Beispiel dafür ist der bool’sche Datentyp (wie er in <stdbool.h> definiert ist):

typedef enum {
   false=0,
   true=1
} bool;


typedef | | Call-By-Name

Options: