Variable C / C++
int x; // x ist ein Name für eine Speicherzelle
x // repräsentiert den Inhalt der Speicherzelle: Der Inhalt von x ist eine ganze Zahl
&x // liefert die Adresse der Speicherzelle
x = ... // ändert den Inhalt der Speicherzelle
Zeiger (= Pointer) C / C++
int *px; // px ist der Name für die Speicherzelle einer Pointer-Variablen
px // repräsentiert den Inhalt der Pointer-Variablen:
// Der Inhalt von px ist die Adresse einer beliebigen Speicherzelle
*px // liefert den Inhalt der Speicherzelle deren
// Adresse in der Pointer-Variablen px gespeichert ist
&px // liefert die Adresse der Speicherzelle der Pointer-Variablen
// (NICHT die in der Speicherzelle gespeicherte Adresse)
px = ... // ändert den Inhalt der Pointer-Variablen (die in px gespeicherte Adresse)
*px = ... // ändert den Inhalt der Speicherzelle deren Adresse in der Pointer-Variablen px gespeichert ist
Referenz C++
fkt( y ); // Funktionaufruf mit y als Parameter
void fkt( int &rx ) // Referenz-Parameter rx (call by reference)
{
// => rx wird in fkt als Alias-Name für die Variable y des aufrufenden Programmes verwendet
rx // repräsentiert den Inhalt derselben Speicherzelle wie y
&rx // liefert die Adresse der Speicherzelle y
rx = ... // ändert den Inhalt der Speicherzelle y
}