bestimmt die Adresse der Variablen im Operanden.
Der unäre Dereferenzoperator (Zugriffsoperator)
erlaubt den (indirekten) Zugriff auf die Daten auf welche der Pointer zeigt. Die Daten können wie eine Variable manipuliert werden.
// Pointer operators #include <iostream.h> main() { int i, j, *pint; i = 10; // i = 10 pint = &i; // pointer initialization j = *pint; // access on int *pint = 0; // i = 0 *pint += 2; // i += 2 } |
In obigem Beispiel fungiert *pint
als int
-Variable und
dementsprechend können auch alle dafür definierten Operationen mit ihr
ausgeführt werden.
Achtung : In dem Programmfragment
{ double *px; *px = 3.1; // WRONG! } |
px
noch undefiniert und daher
wird der Wert 3.1
in einen dafür nicht vorgesehenen
Speicherbereich geschrieben
Es gibt eine spezielle Zeigerkonstante 0
( NULL
in C), welche
auf die (hexadezimale) Speicheradresse 0x0
(= nil
)
verweist und bzgl. welcher eine
Zeigervariable getestet werden kann.