C++ Tableau de pointeurs

Pointeurs C++

Avant d'expliquer le concept de tableaux de pointeurs, regardons d'abord un exemple qui utilise un tableau composé de 3 entiers :

Exemple

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

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :

Value of var[0] = 10
Value of var[1] = 100
Value of var[2] = 200

Il peut arriver que nous voulions un tableau pour stocker des pointeurs vers int ou char ou d'autres types de données. Voici une déclaration d'un tableau de pointeurs vers des entiers :

int *ptr[MAX];

Ici,ptrIl est déclaré comme un tableau composé de MAX pointeurs d'entiers. Par conséquent, chaque élément de ptr est un pointeur vers une valeur int. L'exemple suivant utilise trois entiers, qui seront stockés dans un tableau de pointeurs, comme indiqué ci-dessous :

Exemple

#include <iostream> using namespace std; const int MAX = 3; int main () { int var[MAX] = {10, 100, 200}; int *ptr[MAX]; for (int i = 0; i < MAX; i++) { ptr[i] = &var[i]; // assigner l'adresse d'un entier } for (int i = 0; i < MAX; i++) { cout << "Valeur de var[" << i << "] = "; cout << *ptr[i] << endl; } return 0; }

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :

Value of var[0] = 10
Value of var[1] = 100
Value of var[2] = 200

Vous pouvez également utiliser un tableau de pointeurs vers des caractères pour stocker une liste de chaînes de caractères, comme suit :

Exemple

#include <iostream> using namespace std; const int MAX = 4; int main () { const char *names[MAX] = { "Zara Ali", "Hina Ali", "Nuha Ali", "Sara Ali", }; for (int i = 0; i < MAX; i++) { cout << "Value of names[" << i << "] = "; cout << names[i] << endl; } return 0; }

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :

Value of names[0] = Zara Ali
Value of names[1] = Hina Ali
Value of names[2] = Nuha Ali
Value of names[3] = Sara Ali

Pointeurs C++

autres extensions