Messaggioda eugenio.amitrano » 15/07/2006, 16:36

Quali scuse ?
Ogni ulteriore spiegazione e' sempre bene accetta. :wink:
Aiuta maggiormente la comprensione dell'argomento!

A presto,
Eugenio
Avatar utente
eugenio.amitrano
Senior Member
Senior Member
 
Messaggio: 417 di 1375
Iscritto il: 15/02/2006, 16:16

Messaggioda ilyily87 » 19/07/2006, 11:32

grazie a tutti ragazzi...

siete stati molto chiari.

il mio problema è che non riesco a metterli in pratica questi dannati puntatori...non riesco a capire quando utilizzarli...
ilyily87
Junior Member
Junior Member
 
Messaggio: 132 di 206
Iscritto il: 07/03/2005, 19:28

Messaggioda 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
Avatar utente
eugenio.amitrano
Senior Member
Senior Member
 
Messaggio: 425 di 1375
Iscritto il: 15/02/2006, 16:16

Precedente

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite