Restituire valore da una funzione a main

di
Anonimizzato6758
il
3 risposte

Restituire valore da una funzione a main

Ciao a tutti! io sono nuovo.
Volevo chiedere come faccio a far restituire il valore di una variabile da una funzione creata da me a main. metto un esempio per farvi capire meglio.


int mia(int a)
{
a=a+1;
return 0;
}

int main()
{int x;
x=10;
mia(x);
cout<<x; /*il valore di x dovrebbe essere cambiato*/
}

(so che così il valore non viene restituito)

3 Risposte

  • Re: Restituire valore da una funzione a main

    Il passaggio dei parametri in C/C++ puo' essere per VALORE o RIFERIMENTO.
    Nel primo caso, il valore della variabile viene copiato, utilizzato all'interno della funzione chiamata e cancellato all'uscita.
    Nel secondo caso il passaggio avviene per 'puntamento' dell'area di memoria di riferimento alla variabile - ovvio che non verrà cancellata-
    Esempio tratto dal tuo codice:
    
    int mia(int *a)
    {
      *a=*a+1;
      return 0;
    }
    ...
      mia(&x); 
    ...
    
    Saluti,
    Max
  • Re: Restituire valore da una funzione a main

    Grazie mille!!! hai chiarito i miei dubbi... a scuola non ci hanno ancora spiegato i puntatori(sono in terza delle superiori, perito informatico).
  • Re: Restituire valore da una funzione a main

    Prego!
    Naturalmente nel tuo esempio si poteva utlizzare il valore di return senza fare uso dei puntatori.
    
    int mia(int a)
    {
      a=a+1;
      return a;
    }
    ...
      x=mia(x); 
    ...
    
    
Devi accedere o registrarti per scrivere nel forum
3 risposte