Programmation en C++ – Tableau de pointeurs

Avant de commencer a apprendre le concept d’un tableau de pointeurs, considérons l’exemple suivant, qui fait appel à un tableau de 3 entiers:

#include <iostream>
 
using namespace std;
const int MAX = 3;
 
int main () {
   int  v[MAX] = {22, 245, 459};
 
   for (int i = 0; i < MAX; i++) {
      cout << "Valeur de v [" << i << "] = ";
      cout << v[i] << endl;
   }
 
   return 0;
} 

La sortie :

Valeur de v [0] = 22
Valeur de v [1] = 245
Valeur de v [2] = 459

 
 
Il peut y avoir une situation, lorsque nous voulons maintenir un tableau, qui peut stocker des pointeurs vers un ‘int’ ou un ‘char’ ou tout autre type de données disponibles. Voici la déclaration d’un tableau de pointeurs sur un entier :

int *p[MAX];

Ceci déclare p comme un tableau de MAX pointeurs entiers. Ainsi, chaque élément de p contient maintenant un pointeur vers une valeur de type int. L’exemple suivant utilise trois entiers qui seront stockés dans un tableau de pointeurs comme suit:

#include <iostream>
 
using namespace std;
const int MAX = 3;
 
int main () {
   int  v[MAX] = {98, 124, 547};
   int *p[MAX];
 
   for (int i = 0; i < MAX; i++) {
      p[i] = &v[i]; //affecte l'adresse du nombre entier.
   }
 
   for (int i = 0; i < MAX; i++) {
      cout << "Valeur de var[" << i << "] = ";
      cout << *p[i] << endl;
   }
 
   return 0;
} 

La sortie :

Valeur de var[0] = 98
Valeur de var[1] = 124
Valeur de var[2] = 547

Vous pouvez également utiliser un tableau de pointeurs de type ‘char’ pour stocker une liste de chaînes comme suit:

#include <iostream>
 
using namespace std;
const int MAX = 5;
 
int main () {
   char *noms[MAX] = {
      "Kouis Amine",
      "Johan Alex",
      "Naima BOB",
      "Sotga Karlos",
      "Sinorin Kanin",
   };

   for (int i = 0; i < MAX; i++) {
      cout << "Valeur des noms[" << i << "] = ";
      cout << noms[i] << endl;
   }
 
   return 0;
} 

La sortie :

Valeur des noms[0] = Kouis Amine
Valeur des noms[1] = Johan Alex
Valeur des noms[2] = Naima BOB
Valeur des noms[3] = Sotga Karlos
Valeur des noms[4] = Sinorin Kanin

 

Laisser un commentaire

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