Latest web development tutorials

Les opérateurs de pointeur de C (& et *)

opérateur C de opérateur C de

C ++ fournit deux opérateurs de pointeur, l'un est l'opérateur d'adresse & A est l'opérateur d'indirection *.

Un pointeur est une variable qui contient l'adresse d'une autre variable, vous pouvez mettre une variable qui contient l'adresse d'une autre variable est dite "point" à une autre variable. Les variables peuvent être tout type de données, y compris l'objet, ou pointeur vers la structure.

L'opérateur adresse &

Et est un opérateur unaire renvoie l'adresse de la mémoire de l'opérande. Par exemple, si var est une variable entière, alors & var est son adresse. L'opérateur avec les autres opérateurs unaires ont la même priorité, il est au moment de l'opération de l'ordre de droite à gauche.

Vous pouvez lire l'opérateur et comme«opérateur d'adresse» , qui signifie,& var lire comme "adresse var."

Indirection opérateur *

Le deuxième opérateur est l'opérateur indirection *, qui complète l'opérateur &. * Est un opérateur unaire, la valeur de retour de l'adresse de l'opérande variable spécifiée.

Considérons les exemples suivants pour comprendre l'utilisation de ces deux opérateurs.

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

   var = 3000;

   // 获取 var 的地址
   ptr = &var;

   // 获取 ptr 的值
   val = *ptr;
   cout << "Value of var :" << var << endl;
   cout << "Value of ptr :" << ptr << endl;
   cout << "Value of 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érateur C de opérateur C de