Pointeurs vers les pointeurs

Pointeurs vers les pointeurs

Dans le langage de programmation C ++, un pointeur semble être une variable qui peut enregistrer ou maintenir l'adresse d'une autre variable et être utilisé pour se référer à tout autre pointeur supplémentaire. Les deux usages différents de pointeurs sont pour enregistrer la mémoire et accélérer la vitesse du processeur.

Types de pointeurs en c++

Plusieurs types de pointeurs dans le langage de programmation C ++ sont partagés et expliqués ci-dessous:

Pointeur nul

Un pointeur nul peut être créé ou exécuté si nous fournissons une valeur «nul» tout en déclarant le pointeur. Cette méthode se révèle utile si le pointeur n'a été attribué aucune valeur. À l'intérieur d'un pointeur nul, 0 est toujours présent comme une valeur de pointeur. Regardons une illustration de l'utilisation du pointeur nul dans le code.

#inclure
Utilisation de Namespace Std;
int main()

int * i = null;
couter << "The value of variable i: " << i;
retour 0;

Au début du code, le fichier d'en-tête serait intégré. L'espace de noms standard «STD» serait alors utilisé. Ensuite, la méthode principale () serait exécutée. Ici, le pointeur de la variable «i» serait déclaré. La valeur de ce pointeur serait attribuée comme «nul». Ensuite, la commande «cout» serait utilisée pour montrer le résultat. Pour résilier le programme, nous employons une déclaration de retour 0.

Pointeur vide

Il n'y a pas de type de données standard pour le pointeur vide. Ce type de pointeur est généralement créé en utilisant le terme «vide». L'une des principales utilisations de ce pointeur est de stocker ou de garder l'adresse d'une autre variable.

#inclure
Utilisation de Namespace Std;
int main()

void * z = null;
couter << "The size of z: " << sizeof(z);
retour 0;

Le fichier d'en-tête serait intégré au début du programme. De plus, nous utiliserons l'espace de noms par défaut comme «STD». La méthode principale () est appelée. Le pointeur variable «z» sera déclaré à l'étape suivante. On nous attribuerait la valeur «null» pour ce pointeur. La commande «cout» afficherait la taille du pointeur requis. La fonction Sizeof () serait utilisée pour déterminer la taille du pointeur. En utilisant l'instruction Return 0, nous pourrions mettre fin au programme.

Pointeur vers le pointeur

Nous avons déjà discuté que dans C ++, un pointeur est utilisé pour contenir l'adresse d'une variable. Un pointeur accélère l'accès d'une variable. Pour maintenir l'adresse d'un autre pointeur, un pointeur peut également être défini en C++. Dans une fonction de pointeur vers le pointeur, l'adresse variable est stockée dans le premier pointeur. D'un autre côté, la première adresse de pointeur est généralement stockée dans le deuxième ou un autre pointeur.

Syntaxe

Exemple 1

Maintenant, nous verrons l'utilisation d'un pointeur à pointeur en c++.

#inclure
Utilisation de Namespace Std;
int main()

int x = 16;
int * m;
int ** mm;
M = & x;
mm = & m;
couter << "The address of the variable x: " << m <couter << "The address of the variable m: " << mm <couter << "The value stored in the variable m: " << *m <couter << "The value stored in the variable mm: " << **mm <

Le programme sera lancé par l'intégration du fichier d'en-tête . Cette bibliothèque sera appliquée pour exécuter différentes fonctionnalités d'entrée et de sortie. Tout d'abord, nous initialiserions la variable «x» et lui attribuerions la valeur. Le pointeur qui enregistre l'adresse de la variable «x» sera déclaré à l'étape suivante. Nous créerions alors un autre pointeur. Ici, nous indiquerions le premier pointeur vers l'adresse du «x». La valeur du premier pointeur, «M», serait là où le double-pointeur pointerait. Nous appellerions la déclaration «cout» quatre fois. Les deux premières commandes «cout» impriment l'adresse de la variable et du pointeur spécifié.

Exemple n ° 2

Regardons une illustration d'un pointeur qui fait référence à un autre pointeur par adresse.

#inclure
Utilisation de Namespace Std;
int main()

int v [12] = 102, 212, 870, 169, 581, 721;
int * d [] = v, v + 1, v + 2, v + 3, v + 4, v + 5;
int ** dd = d;
dd ++;
couter << dd-d,*dd - v,**dd;
* dd ++;
couter << dd-d,*dd - v,**dd;
++* dd;
couter << dd-d,*dd - v,**dd;
++** dd;
couter << dd-d,*dd - v,**dd;

La bibliothèque serait incorporée au début du code. Ce module contient les méthodes d'entrée et de sortie. Maintenant, nous commençons le codage à l'intérieur du corps de la fonction principale (). Ici, nous avons d'abord créé le tableau. Ce tableau contient six valeurs. Ces valeurs sont stockées dans la variable «V».

Ensuite, nous déclarons le tableau du pointeur nommé «D». Dans l'étape suivante, nous déclarerions un double pointeur. Ensuite, nous pourrions incrémenter la valeur du pointeur. Le double pointeur est employé avec du pointeur arithmétique. Il est construit comme un tableau à 6 éléments avec un tableau de pointeurs (d) est défini. Les pointeurs faisant référence à chaque membre du tableau constituent les éléments de «D». Étant donné que l'adresse de base du tableau est contenue au nom du tableau, elle fonctionnera comme un pointeur et sa valeur peut être accessible en utilisant * (V), * (V + 1), * (V + 2), * (V +3), * (V + 4), * (V + 5). En fin de compte, nous appliquerions la commande «cout» pour afficher les sorties.

Avantages d'utiliser les pointeurs vers des pointeurs en c++

  • L'accès à des emplacements de mémoire est facilité avec les pointeurs.
  • Les composants d'une structure de tableau peuvent être efficacement accessibles via des pointeurs.
  • L'allocation de la mémoire et de la mémoire dynamique nécessitent des pointeurs.
  • Structures de données complexes, comme les listes liées, les graphiques, les arbres, etc., sont créés à l'aide de pointeurs.

Inconvénients de l'utilisation des pointeurs vers des pointeurs en c++

  • Il pourrait être difficile de comprendre les pointeurs.
  • Les pointeurs peuvent causer plusieurs problèmes, notamment des défauts de segmentation et un accès à la mémoire non autorisée.
  • La corruption de la mémoire peut résulter de l'offre d'un pointeur une valeur inexacte.
  • Des fuites de mémoire peuvent également se produire à travers des pointeurs.
  • Les pointeurs initialiseront plus lentement que les variables.
  • Parce que la manipulation de pointeurs peut être extrêmement difficile pour les programmeurs, ils sont tenus de le faire judicieusement.

Conclusion

Dans cet article, nous avons discuté des pointeurs utilisés dans le langage de programmation C ++, ses avantages, ses inconvénients, sa syntaxe et ses applications. De plus, nous avons discuté du pointeur pour pointer dans la langue C ++. De plus, nous avons exécuté différents programmes pour démontrer comment et quand utiliser des pointeurs vers des pointeurs en C++. Nous voyons également comment utiliser le pointeur vide et nul en C ++ en implémentant les codes.