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