C++ Operadores de puntero (& y *)

C++ 运算符Operadores de C++

C++ proporciona dos operadores de puntero: uno es el operador de dirección & y el otro es el operador de indirección *.

Un puntero es una variable que contiene la dirección de otra variable. Se puede decir que una variable que contiene la dirección de otra variable "apunta" a esa otra variable. La variable puede ser de cualquier tipo de datos, incluidos objetos, estructuras o punteros.

Operador de dirección &

& es un operador unario que devuelve la dirección de memoria del operando. Por ejemplo, si var es una variable entera, entonces &var es su dirección. Este operador tiene la misma precedencia que los demás operadores unarios y, al evaluarse, procede de derecha a izquierda.

Puede leer el operador & como"operador de dirección", lo que significa,&varse lee "la dirección de var".

Operador de indirección *

El segundo operador es el operador de indirección *, que es el complemento del operador &. * es un operador unario que devuelve el valor de la variable en la dirección especificada por el operando.

Vea el siguiente ejemplo para comprender el uso de estos dos operadores.

Ejemplo

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

   var = 3000;

   // Obtener la dirección de var
   ptr = &var;

   // Obtener el valor de ptr
   val = *ptr;
   cout << "Value of var :" << var << endl;
   cout << "Value of ptr :" << ptr << endl;
   cout << "Value of val :" << val << endl;

   return 0;
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

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

C++ 运算符Operadores de C++

Otras extensiones