005
18.08.2004, 22:14 Uhr
Pablo
Supertux (Operator)
|
C++: |
void add(int x, int y, int resultat) { resultat = x + y; }
int main() { int res=0; add(5,3,res); }
|
Wenn du das ausführst, dann ist res immer 0. D.h. dass auch nach der Ausführung von add behält res seinen ursprünglichen Wert.
C++: |
void add(int x, int y, int* resultat) { *resultat = x + y; }
int main() { int res=0; add(5,3,&res); }
|
nachdem add ausgeführt wurde, ist res==8. Ein Zeiger ist eine Variable, dass die Adresse einer anderen Variable speichert. Der Vorteil von den Pointers ist, dass man auf die Adressen von anderen Variablen zugreifen kann, den Wert ändern usw. obwohl diese Variablen in anderen Stellen deklariert worden sind. Siehe mein zweites Beispiel. res wurde in int main deklariert, aber man kann von void add aus res ändern. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 18.08.2004 um 22:14 Uhr von Pablo editiert. |