Elenet.net
+1 voto
mi potete dire che differenza ce tra passaggio dei parametri x valore e per riferimento e spiegarmi che cosa è un puntatore ?
quesito posto 15 Maggio 2013 in Sistemi informatici da Antonella Di Marco Corsista (84 punti)
  

1 Risposta

0 voti

Si parte dal presupposto che una funzione può ritornare un solo valore.
Se abbiamo necessità di ritornare più valori, o comunque di modificarli anche dopo essere stati modificati dalla funzione, dobbiamo ricorrere al passaggio per riferimento.
Se passiamo molti parametri per valore, di questi possiamo ritornarne solo uno con return.
Invece, passando i parametri per riferimento, possiamo farne uscire diversi dalla funzione, grazie ai puntatori.
Quindi se in una funzione i nostri parametri dovranno essere passati per riferimento, nella dichiarazione della funzione, i tipi di dato che ci servono devono essere dichiarati come puntatori.
Esempio:
funzione(int *);   // si noti l'asterisco, il parametro passato è un puntatore ad intero.

 

Un puntatore è definito come un operatore di deferenziazione, ovvero capace di riferirsi ad altre variabili.
I puntatori si dichiarano ponendo * prima del nome.
Per far puntare il puntatore a una variabile, dobbiamo porre il simbolo &.
Ad esempio:  
int *p;    // abbiamo dichiarato il puntatore
int a;
p=&a;    // il puntatore p punta l'indirizzo di a
*p=10; // abbiamo assegnato un valore alla variabile puntata da p. In questo caso a prende 10. Per riferirci alla
variabile puntata quindi dobbiamo anteporre nuovamente il simbolo * al nome del puntatore.
 

 

 

risposta inviata 16 Maggio 2013 da Salvatore Firriolo Corsista (131 punti)

Domande correlate

+1 voto
1 risposta
quesito posto 10 Marzo 2017 in Classe terza da nicolo' guarino Esperto (687 punti) | 112 visite
+2 voti
3 risposte
0 voti
3 risposte
quesito posto 12 Febbraio 2020 in Classe quarta da Francesco Schifaudo (39 punti) | 698 visite
778 domande
1,565 risposte
639 commenti
1,445 utenti