Version: Test
©Raddy 2001

C-Lehrgang - XI                                          zurück

Wozu braucht man Zeiger?
a-absatz.pcx (280 Byte)

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.   
a-absatz.pcx (280 Byte)

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:
c11sgp2.pcx (11586 Byte)

Ein Code zu diesem Program folgt auf der nächsten Seite: