C++ Puntero a puntero (direccionamiento indirecto de varios niveles)

C++ 指针C++ Punteros

Un puntero a puntero es una forma de direccionamiento indirecto de varios niveles, o una cadena de punteros.

Un puntero a puntero consiste en almacenar la dirección de un puntero dentro de otro puntero.

Normalmente, un puntero contiene la dirección de una variable. Cuando definimos un puntero a puntero, el primer puntero contiene la dirección del segundo puntero, y el segundo puntero apunta a la ubicación que contiene el valor real.

C++ 中指向指针的指针

Una variable puntero a puntero debe declararse colocando dos asteriscos antes del nombre de la variable. Por ejemplo, la siguiente declaración declara un puntero a un puntero de tipo int:

int **var;

Cuando un valor objetivo es apuntado indirectamente mediante un puntero a otro puntero, para acceder a este valor se necesitan dos operadores de asterisco, como se muestra en el siguiente ejemplo:

Ejemplos

#include <iostream> using namespace std; int main () { int var; int *ptr; int **pptr; var = 3000; // Obtener la dirección de var ptr = &var; // Usar el operador & para obtener la dirección de ptr pptr = &ptr; // Usar pptr para obtener el valor cout << "El valor de var es:" << var << endl; cout << "El valor de *ptr es:" << *ptr << endl; cout << "El valor de **pptr es:" << **pptr << endl; return 0; }

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

var 值为 :3000
*ptr 值为:3000
**pptr 值为:3000

C++ 指针C++ Punteros

Otras extensiones