Programmation en C++ – Passer un pointeur en paramètre d’une fonction

C++ vous permet de passer un pointeur en paramètre d’une fonction. Pour ce faire, il suffit de déclarer le paramètre de la fonction comme un type de pointeur.
 
 
En suivant un exemple simple où nous passons un pointeur long non signé (long int) à une fonction et changeons la valeur à l’intérieur de la fonction qui modifie la valeur en retour dans la fonction appelante:

#include <iostream>
#include <ctime>
 
using namespace std;
void getSeconds(unsigned long *p);

void getSeconds(unsigned long *p) {
   // obtient le nombre de secondes actuel
   *p = time( NULL );
   return;
}

int main () {
   unsigned long s;

   getSeconds( &s );

   // Afficher la valeur actuel
   cout << "Nombre de secondes :" << s << endl;

   return 0;
} 

La sortie :

Nombre de secondes :1487895101

La fonction qui peut accepter un pointeur, peut également accepter un tableau comme indiqué dans l’exemple suivant:

#include <iostream>
using namespace std;
 
// déclaration de la fonction:
double getMoyenne(int *tab, int taille);
 
int main () {
   // un tableau de type int avec 6 éléments.
   int solde[6] = {5897, 1, 87, 14, 80, 89};
   double moy ;
 
   // passer le pointeur au tableau comme argument.
   moy = getMoyenne( solde, 6 ) ;
 
   // Affichage de la valeur renvoyée
   cout << "La valeur moyenne est: " << moy << endl; 
    
   return 0;
}

double getMoyenne(int *tab, int taille) {
   int    i, somme = 0;       
   double moy ;          
 
   for (i = 0; i < taille; ++i) {
      somme += tab[i];
   }
 
   moy = double(somme ) / taille;
 
   return moy ;
}

La sortie :

La valeur moyenne est: 1028

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.