Programmieren in C

Strukturierte Datentypen III

Inhaltsübersicht

Aufzählungstypen ergänzen Datenstrukturen und erleichtern die Programmierarbeit ungemein, indem sie Variablen für dich durchnummerieren. Wie das genau geht, erklären wir dir jetzt.

Aufzählungstypen als Spezialfall

Zusätzlich zu den normalen strukturierten Datentypen gibt es die sogenannten Aufzählungstypen. Bei diesen handelt es sich – wie der Name schon verrät – um Aufzählungen verschiedener Zustände, die wie in einem Array aufgelistet werden.

Neben strukturierten Datentypen gibt es auch Aufzählungstypen

Anwendung von Aufzählungstypen – Beispiel

Diese sind nicht nur Auflistungen. Eigentlich kannst du Aufzählungstypen mehr als Konstanten betrachten, die vom Compiler wie Variablen überprüft werden. Aber warum ist das jetzt so praktisch?

Stell dir einmal vor, du arbeitest für das FBI und sollst eine Datenbank für vermisste Personen anlegen. Du erstellst also eine Liste voller strukturierter Datentypen vom Typ Person, wie wir es in den beiden vorherigen Videos bereits gelernt haben. Jede dieser Personen hat eine Fallnummer, einen Vornamen, einen Nachnamen und gegebenenfalls noch Anmerkungen.

Erstellung einer Datenbank für vermisste Personen

So weit, so gut. Jetzt soll jede Person in dieser Datenbank aber auch noch mit einem Status gekennzeichnet werden. Kein Problem: Da definierst du einfach eine Variable und setzt sie für tot auf 0, für lebend auf eins und für vermisst auf 2, oder?

Nicht jeder mit Zugriff auf die Datenbank weiß was die Ziffern bedeuten

So einfach ist das leider nicht, denn nicht jeder Ermittler oder Büroangestellte, der Zugriff auf diese Datenbank hat, weiß unbedingt, was diese Ziffern bedeuten. Natürlich könntest du jederzeit eine Funktion programmieren, die bei einer Ausgabe den richtigen Wert einsetzt, um diesem Problem aus dem Weg zu gehen, aber warum etwas komplizierter machen, als es ist?

Definition des Aufzählungstyps

Stattdessen nutzen wir genau in diesem Fall Aufzählungstypen. Ein solcher Typ definiert sich in unserem Fall so:

Aufzählungstypen weisen Werten Nummern zu

Damit haben wir nun standardmäßig der 0 dead, der 1 alive und der 2 missing zugewiesen, ohne eine einzige weitere Methode programmieren zu müssen. Jetzt können wir nämlich einfach eine Variable vom Typ enum status deklarieren und ihr einen unserer neu definierten Werte zuweisen:

Die Zuweisung ist nun ohne weitere Methode direkt möglich

Intern arbeitet unser Rechner immer noch mit Zahlen, aber für beide, den Programmierer und später den Benutzer wird die Handhabung um einiges erleichtert.

Zuweisung bestimmter Nummern an die Variablen

Du kannst aber nicht nur einfache Listen durchnummerieren. Entwickeln wir zum Beispiel ein Programm für die Feuerwehr, das Notfälle mit der dazugehörigen Abkürzung erfasst. Dann brauchst du lediglich bestimmte Nummern. Das lässt sich ganz leicht erreichen, indem du den Wert, dem dein Alias normalerweise zugewiesen werden würde, überschreibst. Dies sieht dann in etwa so aus:

Auch die Zuweisung nur bestimmter Nummern ist möglich

Hier steht 6 für „standby“ und 11 für „radio test count“. Aber was passiert jetzt mit „verify location“? Da wir bei unserer Aufzählung durch das Überschreiben bereits bei 6 angekommen sind, wird „verify location“ einfach automatisch die nächste Zahl, also die 7 zugewiesen. Ziemlich nützlich, oder?

Besetzung einer Zahl mit mehreren Werten

Außerdem erlaubt der Aufzählungstyp auch die Besetzung einer Zahl mit mehreren Werten. Steht also Code 25 für „Manhole“ oder „Transformer Vault Fire“, kannst du problemlos beiden denselben Code zuweisen und danach normal weitermachen.

Besetzung einer Zahl mit mehreren Werten

Noch einfacher und kürzer geht es, wenn du von vorneherein weißt, dass du nur eine Variable von diesem Typ benötigst. Dann kannst du nämlich den Spezial-Typen und die Variable in einer einzigen Zeile deklarieren.

Deklaration der Variable und des Aufzählungstyps in einer einzigen Zeile

Diese Schreibweise sollte dir bereits aus den beiden vorherigen Videos bekannt sein, denn sie erinnert stark an die Deklaration mittels „struct“.

Du siehst: Aufzählungstypen sind ziemlich praktisch um eine Reihe von Variablen durchzunummerieren um neu deklarierten Variablen später diese zuweisen zu können. Probier‘ es gleich mal aus!


Andere Nutzer halten diese Inhalte aus dem Bereich „Programmieren in C“ für besonders klausurrelevant

Hallo, leider nutzt du einen AdBlocker.

Auf Studyflix bieten wir dir kostenlos hochwertige Bildung an. Dies können wir nur durch die Unterstützung unserer Werbepartner tun.

Schalte bitte deinen Adblocker für Studyflix aus oder füge uns zu deinen Ausnahmen hinzu. Das tut dir nicht weh und hilft uns weiter.

Danke!
Dein Studyflix-Team

Wenn du nicht weißt, wie du deinen Adblocker deaktivierst oder Studyflix zu den Ausnahmen hinzufügst, findest du hier eine kurze Anleitung. Bitte lade anschließend die Seite neu.