Das Schlüsselwort typedef wird in C dazu verwendet, um einem Datentypen einen vereinfachten Namen zu geben. Das eignet sich besonders bei der Verwendung von Strukturen. Anhand von zwei Beispielen wird dies deutlicher:
Beispiel ohne typedef:
struct player { char name[20]; unsigned int number; unsigned int score; }; |
Erzeugung eines Pointers auf die Datenstruktur „player“:
struct player *pPlayer = NULL; |
Beispiel mit typedef:
typedef struct player { char name[20]; unsigned int number; unsigned int score; } PLAYER; |
Erzeugung eines Pointers auf die Datenstruktur „player“:
PLAYER *pPlayer = NULL; |
Bei Anwendung einer Typdefinition muss jetzt nur noch das Schlüsselwort PLAYER (anstatt struct player) verwendet werden, was die Schreibweise und Code-Übersichtlichkeit wesentlich angenehmer macht.
Hinweis:: Es gibt noch eine weitere Möglichkeit eine Typdefinition durchzuführen, undzwar mit einer #define Konstanten am Anfang des Programms. Für das oben dargestellte Beispiel würde das so aussehen:
#define PLAYER struct player |
Der Vorteil von #define ist, dass der Compiler eine einfache Ersetzung durchführen kann, wofür kein zusätzlicher Speicher reserviert werden muss.