Grundlegendes zu Pointern

Bezeichnungen

Es ist oft üblich Pointervariablen mit einem p beginnen zu lassen, damit klar ist, daß es sich um einen Pointer handelt. Ebenso verfährt man mit Pointertypen (z. B. mit typedef)

typedef int* pint;
typedef char* pchar;

pint a, b, c;
pchar x, y, z;

Eine solche typedef-Definition hat den Vorteil, daß dann auch alle Bezeichner in einer solchen Reihe vom selben Typ sind, ohne daß jedes Mal explizit der Dereferenizierungsoperator davorgesetzt werden muß.

Um die Schwierigkeit mit Arrays und Pointern zu umgehen, kann auch ein entsprechendes typedef weiterhelfen:

int* a[3];       // Array aus integer-Pointern
typedef int*  pint;
pint a[3];       // Array aus integer-Pointern
int (*a)[3];     // Pointer aus integer-Array
typedef int intA[3];
intA* a;         // Pointer aus integer-Array