Programmiersprache C/C++

6. Datentypen

6.3.2. Aufzählungstypen

Aufzählungstypen gehören zu ANSI-C, jedoch nicht zum Ur-Sprachumfang von C.

Ein Aufzählungstyp besitzt eine fest begrenzte (meist relativ kleine) Menge von Werten. Diese Werte werden rechnerintern als ganze Zahlen verarbeitet, können aber im Programmquelltext über spezielle Wertbezeichner angesprochen werden. Bei der Deklaration eines Aufzählungstyps werden diese Wertbezeichner explizit aufgeführt.

Aufzählungstypen erlauben das Notieren von besser lesbaren Programmen.

Zu beachten ist jedoch, daß die Wertbezeichner eines Aufzählungstyps nicht im Rahmen der standardmäßig verfügbaren Ein- und Ausgabefunktionen benutzt werden können.

Zu unterscheiden ist

Die Werte eines Aufzählungstyps werden intern auf Werte des Datentyps int abgebildet:
  wert_1       0
  wert_2       1
   ...
  wert_n       n-1
Bei Bedarf kann diese interne Wertzuordnung verändert werden: In der enum-Anweisung wird nicht nur der Wertbezeichner wert_k angegeben, sondern auch der zugehörige interne Wert i
  wert_k = i
Beispiele:
  enum { montag, dienstag, mittwoch, donnerstag, freitag, 
         samstag, sonntag } wochentag;
         /* Vereinbarung der Variablen wochentag mit anonymen Datentyp */

  enum jahreszeiten 
       { winter, fruehling, herbst, winter, karneval=5 };
         /* Vereinbarung des Datentyps jahreszeiten */

  enum jahreszeiten j1, j2;
         /* Vereinbarung der Variablen j1, j2 mit dem Datentyp jahreszeiten */
Vordefinierte Aufzählungstypen gibt es im Laufzeitsystem von C im allgemeinen nicht.
Die C-Schnittstelle einiger Anwendungssysteme macht jedoch teilweise umfangreich davon Gebrauch (z.B. Grafiksystem graPHIGS).


Zurück zum Menü
Zurück zur vorigen Seite Weiter zur nächsten Seite

P. Böhme, 28.12.1995