14.3 Zeigerarithmetik
 
Folgende Rechenoperationen können mit einem Zeiger und auf deren Adresse verwendet werden:
|
Ganzzahlwerte erhöhen |
|
Ganzzahlwerte verringern |
|
Inkrementieren |
|
Dekrementieren |
Wenn Sie Folgendes eingeben würden:
int *ptr;
int wert;
ptr =& wert;
ptr += 10;
Auf welche Adresse zeigt der Zeiger ptr? 10 Bytes von der Variablen wert entfernt? Nein, ein Zeiger wird immer um den Wert der Größe des Datentyps erhöht bzw. erniedrigt. Auf einem 32-Bit-System würde der Zeiger auf eine Stelle verweisen, die 40 Bytes von der Anfangsadresse der Variablen wert entfernt ist.
Solch eine Erhöhung der Adresse ist ohnehin sehr gefährlich, da der Zeiger danach höchstwahrscheinlich nicht mehr auf einen reservierten Speicherbereich zeigt.
Des Weiteren sind bei Verwendung eines Zeigers natürlich auch die Vergleichsoperatoren <, ><, !=, ==, <= und => erlaubt. Die Verwendung ist aber hierbei nur sinnvoll, wenn die Zeiger auf Elemente eines Arrays zeigen.
|