leon84
17-04-2003, 17:44
Se io volessi costruire una funzione alla quale tra i diversi parametri formali vorrei passare anche un array come devo fare ? Mi spiego meglio .... supponiamo che io voglia realizzare una funzione che mi calcoli la somma di tutti i numeri presenti in un array .... chiaramente alla mia funzione passo il numero di elementi presenti nell'array e l'array stesso ... va bene se faccio nel seguente modo :
// Nel globale
int vettore[50] ;
// Dichiarazione del prototipo
int somma ( int vet[] , int num_elem) ;
// definizione della funzione
int somma ( int vet[] , int num_elem)
{
int i ;
int somma=0;
for (i=0;i<num_elem;i++)
somma+=vet[i];
return somma ;
}
void main ()
{
int n=10; // si presupponga che i 10 valori siano stati inseriti con un'altra funzione
int somma=0;
somma = somma(vettore,n);
}
Va bene come ho passato alla funzione quel vettore formale ? Il parametro num_elem viene passato per valore ... ed il vettore ? Mi sembra per valore lo stesso .... ma volendolo passare per riferimento ? Vi prego rispondete
// Nel globale
int vettore[50] ;
// Dichiarazione del prototipo
int somma ( int vet[] , int num_elem) ;
// definizione della funzione
int somma ( int vet[] , int num_elem)
{
int i ;
int somma=0;
for (i=0;i<num_elem;i++)
somma+=vet[i];
return somma ;
}
void main ()
{
int n=10; // si presupponga che i 10 valori siano stati inseriti con un'altra funzione
int somma=0;
somma = somma(vettore,n);
}
Va bene come ho passato alla funzione quel vettore formale ? Il parametro num_elem viene passato per valore ... ed il vettore ? Mi sembra per valore lo stesso .... ma volendolo passare per riferimento ? Vi prego rispondete