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:
pa = a; // Fehler! pa ist Pointer, a ist integer
int* pa, *pb;
int a = 3, b = 4;
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.
if (pa == 0) // true (=1)
int* pa;
...
if (pa == NULL) // ebenfalls true, da 0 == NULL für Pointer
...