da eugenio.amitrano » 19/07/2006, 12:22
per esempio, volgio realizzare una funzione che raddoppia il valore di una variabile.
se la funzione e' dichiarata come segue:
void raddoppia (int var)
{
var *= 2;
return;
}
non ci sara' effetto sul parametro.
Se nel mio main scrivo
int pippo = 5;
raddoppia(pippo);
pippo rimarra' uguale a 5.
Il modo corretto per fare una cosa del genere e' attraverso i puntatori:
invece, se la funzione e' dichiarata come segue:
void raddoppia (int *var)
{
*var *= 2;
return;
}
ci sara' effetto sul parametro.
Se nel mio main scrivo
int pippo = 5;
raddoppia(&pippo); // devo passare l'idirizzo di pippo in modo che var punti a pippo.
a questo punto, pippo sara' uguale a 10.
Chiaro ?
Se hai bisogno, scrivi pure.
Eugenio