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