Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269

    Funzioni - Parametri per valore e riferimento

    Ragazzi, posso chiedervi un piacere?

    Potete spiegarmi in modo sintetico il passaggio di parametri per valore e per riferimento? ( Argomento Funzioni )

    Grazie mille anticipatamente.
    Con i sogni possiamo conoscere il futuro...

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    378
    passaggio per valore:


    int a = 0;
    int b = 0;
    fun(val a, val b){
    a++;
    b++;
    stampo1(a e b) //stampa a=1 e b=1

    }
    fun(a,b);
    stampo2(a e b) //stampa a=0 e b=0

    praticamente nel passaggio per valore quando chiami la funzione fun, a e b dentro la funzione sono due nuove variabili che contengono il valore che gli è stato passato e vengono memorizzate nel blocco allocato per la funzione, una volta che termina la chiamata alla funzione quelle variabili prima create vengono eliminate assieme a tutto il blocco allocato in memoria per la funzione stessa.

    passaggio per riferimento:

    int a = 0; //dopo a++ questa vale 1
    int b = 0; //dopo b++ questa vale 1
    fun(rif a, rif b){
    a++; // incremento la variabile a esterna alla funzione
    b++; // incremento la variabile b esterna alla funzione
    stampo1(a e b) //stampa a=1 e b=1
    }
    fun(a,b);
    stampo2(a e b) //stampa a=1 e b=1


    entrando nello specifico quando fai una chiamata per riferimento i parametri formali sono alias per i parametri attuali, quindi a e b all'interno della funzione puntano all'indirizzo di memoria delle variabili a e b esterne alla funzione, quindi se le modifichi all'interno della funzione vai in realtà a modificarle all'esterno.

    spero di essere stato chiaro,
    buono studio.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.