Puntero a Puntero en C

CBeginner
Practicar Ahora

Introducción

En la programación en C, los punteros se utilizan para almacenar las direcciones de memoria de otras variables. Del mismo modo, un puntero a un puntero es una variable que almacena la dirección de memoria de otra variable puntero. En este laboratorio, aprenderemos a escribir un programa en C que trabaje con punteros a punteros.

Declarar las variables necesarias

En este paso, declararemos tres variables: var, *ptr y **pptr.

int var;
int *ptr;
int **pptr;

Asignar un valor a la variable var

En este paso, asignaremos un valor a la variable var.

var = 50;

Asignar la dirección de var al puntero ptr

En este paso, asignaremos la dirección de la variable var al puntero ptr.

ptr = &var;

Asignar la dirección de ptr al puntero a puntero pptr

Ahora, asignaremos la dirección del puntero ptr al puntero a variable puntero pptr.

pptr = &ptr;

Acceder al valor utilizando pptr

Finalmente, accederemos al valor de var usando el puntero a variable puntero pptr.

printf("\nValue of var = %d\n", var);
printf("\nValue available at *ptr = %d\n", *ptr);
printf("\nValue available at **pptr = %d\n", **pptr);

La primera declaración printf imprimirá el valor de la variable var.

La segunda declaración printf imprimirá el valor disponible en la dirección de memoria almacenada en ptr, que debería ser el valor de var.

La tercera printf imprimirá el valor disponible en la dirección de memoria almacenada en pptr, que debería ser el valor de ptr, y luego se desreferenciará dos veces para obtener el valor de var.

Escribir el código completo en main.c

Ahora que hemos pasado por los diversos pasos, podemos poner el código juntos en la función main de main.c.

#include <stdio.h>

int main()
{
    int var;
    int *ptr;
    int **pptr;

    var = 50;

    ptr = &var;

    pptr = &ptr;

    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;
}

Resumen

En este laboratorio paso a paso, hemos aprendido cómo escribir un programa en C que trabaja con punteros a punteros. Hemos declarado las variables necesarias, asignado un valor a la variable, asignado la dirección de la variable al puntero, asignado la dirección del puntero al puntero a puntero y, finalmente, accedido al valor de la variable usando el puntero a puntero. Ser familiarizado con los punteros a punteros es un paso fundamental en el aprendizaje de la programación en C.