Programmation en C++ – Les pointeurs

Les pointeurs en C ++ sont faciles et amusants à apprendre. Certaines tâches en C ++ sont exécutées plus facilement avec des pointeurs et d’autres tâches, telles que l’allocation dynamique de la mémoire, ne peuvent pas être exécutées sans eux.
 
 
Comme vous le savez, chaque variable est un emplacement de mémoire et chaque emplacement de mémoire a son adresse définie à laquelle on peut accéder à l’aide de l’opérateur « & » (&) qui indique une adresse mémoire. Le programme ci-dessous va afficher l’adresse des variables définies:

#include <iostream>

using namespace std;

int main () {
   int  v1;
   char v2[10];

   cout << "Adresse de la variable v1 : ";
   cout << &v1 << endl;

   cout << "Adresse de la variable v2 : ";
   cout << &v2 << endl;

   return 0;
} 

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant:

Adresse de la variable v1 : 0x7fff51216c1c
Adresse de la variable v2 : 0x7fff51216c10

 

Qu’est-ce qu’un pointeur ?

Un pointeur est une variable dont la valeur est l’adresse d’une autre variable. Comme toute variable ou constante, vous devez déclarer un pointeur avant de pouvoir y utiliser. La forme générale d’une déclaration d’une variable de type pointeur est:

type *p;

Ici, type est le type de base du pointeur et p c’est le nom du pointeur. l’étoile utilisé derrière p c’est le même étoile que vous utilisez pour faire la multiplication. Par contre, dans cette déclaration, l’étoile est utilisé pour désigner une variable comme un pointeur. Voici la déclaration d’un pointeur valide:

int * i;      //pointeur vers un entier
char * c     //pointeur vers un caractère
float * f;   //pointeur vers un flottant
double * d;  //pointeur vers un double

Le type de la valeur de tous les pointeurs, quel que soit entier, flottant, caractère ou autre, est le même, puisque la valeur est un nombre hexadécimal long qui représente une adresse mémoire. La seule différence entre ces pointeurs c’est le types de données de la variable à laquelle pointe le pointeur.
 
 

L’utilisation des pointeurs en C ++:

Il ya peu d’opérations importantes, que nous ferons avec les pointeurs. On définit une variable pointeur, qui contient l’adresse d’une variable et enfin on accède à l’adresse disponible dans la variable pointeur. Cela se fait en utilisant l’opérateur unaire & qui retourne l’adresse mémoire de la variable concernée. L’exemple suivant utilise ces opérations:

#include <iostream>

using namespace std;

int main () {
   int  var = 33;   // déclaration de variable.
   int  *p;        // déclaration d'un pointeur

   p = &var;       // stocke l'adresse de var dans la variable pointeur p

   cout << "Valeur de la variable var: ";
   cout << var << endl;

   // Afficher l'adresse stockée dans la variable pointeur p
   cout << "Adresse stockée dans la variable p: ";
   cout << p << endl;

   // accéder à la valeur qui se trouve a l'adresse pointée par le pointeur p
   cout << "Valeur de * p variable: ";
   cout << *p << endl;

   return 0;
} 

La sortie :

Valeur de la variable var: 33
Adresse stockée dans la variable p: 0x7ffc50392d04
Valeur de * p variable: 33

 
 

Les pointeurs C ++ en détail
Les pointeurs sont beaucoup mais des concepts faciles et ils sont très importants pour la programmation en C++. Il existe quelques concepts importants sur les pointeurs qui devraient être clairs pour un programmeur C++:

Pointeur null en C++
C++ supporte le pointeur null, qui est une constante avec une valeur de zéro définie dans plusieurs bibliothèques standard.

Arithmétique des pointeurs en C ++
Il existe quatre opérateurs arithmétiques qui peuvent être utilisés sur les pointeurs: ++, -, +, –

Différence entre un pointeurs et un tableaux en C ++
Il existe une relation étroite entre les pointeurs et les tableaux. Regardons comment?

Tableaux de pointeurs en C++
Vous pouvez définir des tableaux pour contenir un certain nombre de pointeurs.

Pointeur de pointeur en C++
C ++ vous permet d’avoir un pointeur qui point sur un autre pointeur et ainsi de suite.

Passer un pointeur en paramètre d’une fonction
En passant un argument par référence ou par adresse cela permet à l’argument passé à être modifié dans la fonction appelante par la fonction appelée.

Fonction qui retourne un pointeur
C ++ permet à une fonction de retourner un pointeur vers une variable locale, une variable statique ou vers une mémoire allouée dynamiquement.

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *