003
14.01.2003, 18:41 Uhr
Alf
|
Bor ist das Kompliziert!
Noch mal ganz neu:
Hast du eine Funktion
C++: |
void Berechne(int a, int b)
|
so sind a und b Lokale Variablen dennen du durch
C++: |
int Wert1 = 1; int Wert2 = 2; Berechne(Wert1, Wert2)
|
die Wert 1 für a und 2 für b zuweist. Eine Vertauchung von a und b wie oben ist nur Lokal in der Funktion wirksam, hat aber keinen Einfluss auf die Variablen Wert1 und Wert2.
C++: |
void Berechne(int *a, int *b)
|
C++: |
int Wert1 = 1; int Wert2 = 2; Berechne(&Wert1, &Wert2)
|
Der Funktions Aufruf übergibt, durch den Adress-Operator &, die Arbeitsspeicher Adressen. a zeigt nun auf denn Speicher von Wert1 und b auf Wert2. *a gibt den Wert des Speichers wieder auf den sie zeigt, a die Adresse.
wenn du nun *a = 10; machst so wird der Speicher von der Variablen Wert1 überschrieben(da a darauf zeigt). Die Variable Wert1 hat nun den Wert 10.
Mfg
Andy -- Mfg
Andy |