C++ Opérateurs de pointeur (& et *)

Opérateurs C++

C++ fournit deux opérateurs de pointeur : l’opérateur d’adresse & et l’opérateur d’indirection *.

Un pointeur est une variable qui contient l’adresse d’une autre variable. On peut dire qu’une variable qui contient l’adresse d’une autre variable "pointe vers" cette autre variable. La variable peut être de n’importe quel type de données, y compris des objets, des structures ou des pointeurs.

Opérateur d’adresse &

& est un opérateur unaire qui renvoie l’adresse mémoire de son opérande. Par exemple, si var est une variable entière, alors &var est son adresse. Cet opérateur a la même priorité que les autres opérateurs unaires, et il est évalué de droite à gauche.

Vous pouvez lire l’opérateur & commeOpérateur d’adresse, cela signifie que,&varse lit comme "l’adresse de var".

Opérateur d'indirection *

Le second opérateur est l'opérateur d'indirection *, qui est le complément de l'opérateur &. * est un opérateur unaire qui renvoie la valeur de la variable à l'adresse spécifiée par son opérande.

Veuillez voir l'exemple suivant pour comprendre l'utilisation de ces deux opérateurs.

Exemple

#include <iostream>
 
using namespace std;
 
int main ()
{
   int  var;
   int  *ptr;
   int  val;

   var = 3000;

   // obtenir l'adresse de var
   ptr = &var;

   // Obtenir la valeur de ptr
   val = *ptr;
   cout << "Valeur de var :" << var << endl;
   cout << "Valeur de ptr :" << ptr << endl;
   cout << "Valeur de val :" << val << endl;

   return 0;
}

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

Value of var :3000
Value of ptr :0xbff64494
Value of val :3000

Opérateurs C++

autres extensions