Latest web development tutorials

C ++ puntero a un puntero (multinivel direccionamiento indirecto)

C ++ punteros C ++ punteros

El puntero es un puntero a una forma de múltiples etapas de direccionamiento indirecto, o es una cadena de puntero. Típicamente, un puntero contiene la dirección de una variable. Cuando se define un puntero a un puntero, el primer puntero contiene la dirección del segundo indicador, el segundo puntero contiene la ubicación del valor real.

C ++, un puntero a un puntero

Un puntero a una variable puntero debe ser declarado como sigue, a saber, la colocación de dos asteriscos delante del nombre de la variable. Por ejemplo, la siguiente declara un puntero a un puntero punteros int:

int **var;

Cuando un objetivo es un puntero a otro puntero indirectamente puntos Para acceder a este valor requiere el uso de operador dos asteriscos, como se muestra en los siguientes ejemplos:

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

   var = 3000;

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

   // 使用运算符 & 获取 ptr 的地址
   pptr = &ptr;

   // 使用 pptr 获取值
   cout << "Value of var :" << var << endl;
   cout << "Value available at *ptr :" << *ptr << endl;
   cout << "Value available at **pptr :" << **pptr << endl;

   return 0;
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

Value of var = 3000
Value available at *ptr = 3000
Value available at **pptr = 3000

C ++ punteros C ++ punteros