#31 Eigene Datentypen Flashcards
Was ist das allgemeine Ziel von eigenen Datentypen? Welche gibt es?
Ziel: Bessere Lesbarkeit von Programmen
- Aufzählungstypen (enum)
- Typdefinition (typedef)
Wofür sind Aufzählungstypen gut? Wie sieht die Syntax aus?
Aufzählungstypen können für Variablen definiert werden, denen nur wenige
verschiedene Werte zugewiesen werden sollen.
Syntax:
- enum TypName {Bez1, Bez2, …} [Var1, Var2, …];
- Die Variablennamen sind optional.
Beispiel:
enum tier {hund, katze, maus} t;
t = hund;
Wie erfolgt die Interne Umsetzung von Aufzählungstypen?
- Aufzählungstyp ist int
- Wenn nicht anders festgelegt, werden Bezeichner durch Werte 0, 1, …
repräsentiert (Reihenfolge in der Definition ist wichtig!)
Was sind die Vorteile/Nachteile von Aufzählungstypen?
Vorteil:
- Aussagekräftige Bezeichner machen die Programme lesbarer
und übersichtlicher.
Nachteil:
- Typfremde Zuweisungen an Aufzählungstypen werden meist vom Compiler
nicht erkannt.
- Nur für kleine Wertebereiche anwendbar.
Was sind Typdefinitionen?
- Ein bestehender Datentyp bekommt einen neuen,
alternativen Namen.
Syntax: - typedef Typ TypName;
Beispiel:
enum e_farbe {rot, blau, gruen, gelb};
typedef enum e_farbe farbe;
farbe f;
f = gelb;
Wofür werden Typdefinitionen genutzt?
- Bessere Lesbarkeit großer Programme
- Bessere Portierbarkeit eines Programms, da nur die abstrakten Datentypen an die
neue Umgebung angepasst werden müssen