Este artículo discute el funcionamiento del puntero al puntero en el lenguaje de programación C.
Antes de dirigirte hacia cómo puntero al puntero funciona, primero discutamos qué es puntero al puntero.
¿Cuál es el puntero al puntero?
Un puntero es una variable utilizada para almacenar otra dirección de memoria variable. Mientras que un puntero al puntero, también conocido como el doble puntero es un puntero que se utiliza para almacenar la dirección de memoria de otro puntero.
Sintaxis general para usar el puntero al puntero en c
La siguiente es la sintaxis para usar un puntero al puntero en la programación C.
data_type ** variable_nameEl puntero al puntero La variable debe definirse agregando dos asteriscos a su nombre. Por ejemplo, la siguiente declaración declara un puntero a Pointer of Int DataType.
int ** var;¿Cómo funciona Pointer To Pointer en C?
A puntero al puntero actúa de manera similar a un puntero ordinario, excepto que modifica el valor real asociado con el puntero al que señala. Para decirlo de otra manera, la dirección de memoria mantenida en un puntero ordinario es capaz de ser cambiado. Consideremos un ejemplo simple:
int n = 10;En el código anterior, tenemos una variable int que almacena un valor entero. También tenemos un puntero llamado "PPTR1" que almacena la dirección de memoria de la variable norte. Después de eso, el "PPTR2" se usa que almacena la dirección de memoria del puntero PPTR1.
Ahora, si desea acceder a los valores de norte, Solo necesitas desreferir el puntero dos veces. En la primera referencia, obtendrá la dirección de memoria de "PPTR1", mientras que en el segundo, obtendrás el valor de norte. Ahora puede obtener el valor usando el "Printf ()" función.
Aquí hay un código completo para usar Pointer to Pointer en la programación C.
#incluirProducción
También podemos asignar memoria para una variable de puntero en una función separada y luego aplicar ese puntero en la función de llamadas. El ejemplo dado demuestra cómo hacer esto.
#incluirEn el programa anterior, el "asignación de memoria" la función asignó la memoria a PTR_1. El PTR_1 actúa como un doble puntero y almacena una cadena llamada "Linuxhint" que se imprime en la pantalla.
Producción
Conclusión
El puntero al puntero es un concepto útil en el lenguaje de programación C que le permite acceder indirectamente a un valor variable a través de múltiples capas de puntería. Con la ayuda de puntero al puntero, puedes manipular un puntero por sí mismo. Las pautas mencionadas anteriormente lo ayudan a usar puntero al puntero en la programación C, ya que también incluye algunos ejemplos básicos que ayudan a comprender el concepto básico detrás de puntero al puntero.