How Can We Help?
Subroutine In/Out. Passa per valore o riferimento
Ci sono due opzioni per trasmettere un oggetto ad una subroutine:
- Passa per valore, indicato da una singola freccia a destra o in, passa un valore numerico nella variabile di subroutine che si definisce.
- Pass by value significa che un valore numerico viene passato dalla routine di chiamata a questa routine.
- Se il valore numerico proviene da una variabile tagnamed nella routine di chiamata, la subroutine non può influenzare il valore della variabile nel programma chiamante. Utilizza solo il valore passato.
- Passando per riferimento, illustrato dalle frecce opposte che indicano in entrata e in uscita, passa un riferimento o una maniglia a una variabile nella routine di chiamata.
- Passare per riferimento significa che un “riferimento” ad un elemento di dati è passato dentro.
- Utilizzando un riferimento che viene passato in, è possibile accedere ai dati nella routine di chiamata e modificarli.
- La modifica dei dati trasmessi per riferimento è l’equivalente della trasmissione dei dati.
Gli array completi possono essere passati solo per riferimento. I singoli elementi dell’array possono essere passati solo per valore. Se si configura per passare un elemento di un array, si deve mettere l’indice dell’array tra parentesi quadre []
In 2 parole
Passa per valore. Il valore non viene modificato. Non e’ lo stesso valore in Subroutine e nel programma principale. |
Passa per riferimento. Il valore viene modificato. E’ lo stesso valore in Subroutine e nel programma principale. |