Lektion 35:

Zeigervariablen als Übergabeparameter

 Was wir brauchen, ist eine Methode, die beiden Variablen zu vertauschen, obwohl nur Werte übergeben werden. Und das geht sogar! Es geht mit Zeigern.

Wir übergeben einfach die Adressen der beiden Variablen und vertauschen die Inhalte, auf die beiden Adressen hinzeigen.

#include <iostream.h>
void swap(int *pa,int *pb)// sprich: void swap von int Zeiger pa Komma int Zeiger pb
{// sprich: geschweifte Klammer auf
   int tmp=*pa;// sprich: int temp ist Inhalt von a
   *pa=*pb;// sprich: Inhalt von a ist Inhalt von b
   *pb=tmp;// sprich: Inhalt von b ist temp
};// sprich: geschweifte Klammer zu
void main()
{
   int a=1;
   int b=2;
   swap(&a,&b);
   cout<<"a: "<<a<<endl;
   cout<<"b: "<<b<<endl;
};

Heureka! Es funktioniert! Sehr schön an dieser Lösung ist, daß man im Hauptprogramm an den Adreßoperatoren leicht erkennt, daß die Funktion beabsichtigt, die Werte der Variablen zu verändern.



Falls Ihnen Fehler im Text auffallen oder Sie Verbesserungsvorschläge haben, dann schicken Sie mir bitte eine Mail. Ich werde mich dann sofort darum kümmern.
[aktuelle Version] [inhalt] [index]      [Fehlerkorrektur, Verbesserungsvorschlag]

© Volkard Henkel <volkard@normannia.de>, last update: 08/25/00