Typedef
typedef ist in den Programmiersprachen C und C++ ein Schlüsselwort, das zur Erstellung eines Alias für einen Datentyp verwendet wird.
Ein einfaches Beispiel, bei dem ein neuer Typ für ganzzahlige Geschwindigkeiten festgelegt wird, wäre zum vordefinierten Typ <syntaxhighlight lang="C" inline>int</syntaxhighlight> identisch: <syntaxhighlight lang="C"> typedef int km_pro_Stunde; </syntaxhighlight>
Häufiger wird typedef für kompliziertere Definitionen verwendet:
Es ist möglich und üblich, von abgeleiteten Typen weitere Ableitungen zu definieren:
<syntaxhighlight lang="C"> int array[10][20]; // Array mit 10 Elementen, wobei jedes Element ein Array von 20 »int« ist. int *p [10]; // Array mit 10 Elementen, wobei jedes Element ein »int *« (=Zeiger auf »int«) ist. int (*q)[10]; // Zeiger auf ein Array mit 10 »int«-Elementen. int (*f)(int *); // Zeiger auf eine Funktion, die einen »int *«-Parameter hat und ein »int« zurückgibt </syntaxhighlight>
Dies kann schnell zu komplexen und unübersichtlichen Deklarationen führen. Über eine typedef-Deklaration ist es möglich, für einen (möglicherweise zu komplexen) Datentyp einen einfachen Namen zu vergeben:
<syntaxhighlight lang="C"> void *(*get_cb(int))(void *); // Unübersichtlich!
// Besser: typedef void *(*callback)(void *); // Typedef: »callback« ist ein Zeiger auf eine Funktion,
// die einen »void*«-Parameter hat und ein »void*« zurückgibt
callback get_cb(int); // Übersichtlicher: »get_cb« hat einen »int«-Parameter und gibt einen
// »callback«-Funktionszeiger zurück
</syntaxhighlight>
Literatur[Bearbeiten]
- Brian Kernighan, Dennis Ritchie: The C Programming Language. 2. Auflage. Prentice Hall, Englewood Cliffs NJ 1988, ISBN 0-13-110362-8, S. 146–147 (deutsche Übersetzung: Brian Kernighan, Dennis Ritchie: Programmieren in C. Mit dem C-Reference Manual in deutscher Sprache. 2. Auflage. Hanser, München / Wien 1990, ISBN 3-446-15497-3).
- Robert Klima, Siegfried Selberherr: Programmieren in C. 3. Auflage. Springer, Wien 2010, ISBN 978-3-7091-0392-0, S. 194–195.
- Jürgen Wolf: C von A bis Z. Das umfassende Handbuch. 3. aktualisierte und erweiterte Auflage. 2009, 4., korrigierter Nachdruck: Rheinwerk, Bonn 2015, ISBN 978-3-8362-1411-7.