C puntero a un puntero
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.
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 <stdio.h> int main () { int var; int *ptr; int **pptr; var = 3000; /* 获取 var 的地址 */ ptr = &var; /* 使用运算符 & 获取 ptr 的地址 */ pptr = &ptr; /* 使用 pptr 获取值 */ printf("Value of var = %d\n", var ); printf("Value available at *ptr = %d\n", *ptr ); printf("Value available at **pptr = %d\n", **pptr); 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