|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
C++ : array come parametri di una funzione
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 :
Codice:
// 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
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2000
Messaggi: 1459
|
va bene così, un modo equivalente è
Codice:
void func(int* a, int n) { ..... }
da precisare che il vettore viene passato sempre per riferimento, essendo un puntatore ciauz |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
ma tra parametri è anche possibile specificare la dimensione del vettore ?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2003
Città: GE
Messaggi: 397
|
Certo che puoi specificare il numero degli elementi, passi un altro parametro
Codice:
void qualcosa(int* array,int num_elementi){...}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:48.



















