Grundlegendes zu Pointern

Zuweisung an einen Pointer

Einem Pointer kann die Adresse eines anderen Objekts durch den Adressoperator & zugewiesen werden oder auf natürliche Art und Weise durch Zuweisung eines anderen Pointers:

int* pa, *pb;
int  a = 3, b = 4;

pa = a;   // Fehler! pa ist Pointer, a ist integer
pa = &a;  // ok: pa enthält Adresse von a
pb = pa   // ok: pb enthält die gleiche Adresse wie pa, also von a

Nach einer Deklaration ist ein Zeiger immer identisch mit dem Nullzeiger, der auf keine Speicherstelle zeigt. Man kann ihn als 0 oder als NULL schreiben. So kann auch festgestellt werden, ob ein Pointer schon initialisiert wurde.

int* pa;

if (pa == 0)    // true (=1)
 ...
if (pa == NULL) // ebenfalls true, da 0 == NULL für Pointer
 ...