next up previous contents
Nächste Seite: Dereferenzierung Aufwärts: Pointer Vorherige Seite: Definition   Inhalt

Deklaration und Zuweisung

Pointer werden deklariert, indem man bei einer ,,normalen`` Variablendeklaration ein * hinter den Typnamen setzt.

So deklariert z.B:


int * ip;

die Variable ip als einen Zeiger auf ein Objekt vom Typ int.

Da eine Pointervariable die Adresse einer Variablen enthält, kann man ihr auch nur die Adresse einer Variablen entsprechenden Typs (oder eine gleichartige Pointervariable) zuweisen. C verfügt über einen Operator, der die Adresse desObjektes liefert, auf das er angewendet wird, den &-Operator. Ausnahme von dieser Regel ist der NULL-Pointer (0 in C++), den man jeder Pointervariablen zuweisen darf. Ein Pointer, der NULL enthält, macht so klar, daß er auf nichts zeigt.

So kann man z.B. schreiben:


int i;
int j;
int *ip;
int *iq;

...
ip = &i; /* ip enthaelt die Adresse von i */
iq = &j; /* iq enthaelt die Adresse von j */
...
iq = ip; /* iq enthaelt den Inhalt von ip, i.e. Adresse von i */

ip = NULL; /* ip zeigt auf nichts mehr */


Thomas Neuhaus
2001-01-14