PDA

View Full Version : C++ : array come parametri di una funzione


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

The3DProgrammer
17-04-2003, 18:16
va bene cosė, un modo equivalente č



void func(int* a, int n) { ..... }




da precisare che il vettore viene passato sempre per riferimento, essendo un puntatore :)

ciauz

leon84
17-04-2003, 21:14
ma tra parametri č anche possibile specificare la dimensione del vettore ?

peppedx
18-04-2003, 09:55
Certo che puoi specificare il numero degli elementi, passi un altro parametro
void qualcosa(int* array,int num_elementi){...}