enum ist mit der #define Präprozessoranweisung verwandt. Man kann damit eine Aliasliste erzeugen, die Integerzahlen enthält. Man könnte z.B. an Stelle von
#define MON 1 #define TUE 2 #define WED 3
mit enum auch schreiben
enum week { Mon=1, Tue, Wed, Thu, Fri Sat, Sun} days;
oder
enum escapes { BELL = '\a', BACKSPACE = '\b', HTAB = '\t',
RETURN = '\r', NEWLINE = '\n', VTAB = '\v' };
oder
enum boolean { FALSE = 0, TRUE };
Ein Vorteil von enum gegenüber #define besteht darin, daß enum einen Gültigkeitbereich hat. Das heißt, daß Werte, die daraus abgeleitet werden, wie alle anderen Variablen auch, nur in einem definierten Bereich gültig sind während #define Festlegungen im ganzen Programm gelten.
#define
Präprocessor.![]()
Programmierfehler
bei enum und #define .