Wozu braucht man Zeiger? |
|
Ein Problem |
|
Nun stellt sich die Frage, wozu man Zeiger überhaupt
braucht, denn man kann ja jede Variable auch direkt
ändern, anstatt über ihren Zeiger.
Der Vorteil taucht bei der Verwendung von Funktionen auf:
Nehmen wir an, wir wollen eine Funktion schreiben, an
die die Variablen x und y übergeben werden. Die Funktion
soll das Quadrat von x und das Quadrat von y zurückgeben.
Wie wir im Kapitel Funktionen gelernt haben, kann man
einer Funktion mehrere Variablenwerte übergeben, aber
eine Funktion kann nur einen Variablenwert zurückliefern.
Es ist also nicht möglich, eine solche Funktion zu schreiben.
Mit Hilfe von Zeigern und einem Trick kann man dieses
Problem umgehen.
|
|
Die Lösung mit Hilfe von
Zeigern |
|
Die Lösung mit Hilfe von Zeigern sieht nun folgendermaßen
aus: Funktion 1 teilt Funktion 2 mit, wo die lokalen Variablen
von Funktion 1 liegen, in denen das Ergebnis der Quadratzahl-
berechnung normalerweise gespeichert würde (erg1, erg2).
Dies geschieht durch Übergabe von Zeigern.
Funktion 2 berechnet die Quadrate von x und y. Die Ergebnisse
gibt sie aber nicht zurück, sondern schreibt sie direkt in die
ihr nun bekannten Speicherstellen, wo erg1 und erg2 liegen:
Ein Code zu diesem Program folgt auf der nächsten Seite:
|
|