Ponteiro para Ponteiro em C

CBeginner
Pratique Agora

Introdução

Na programação C, ponteiros são usados para armazenar os endereços de memória de outras variáveis. De forma semelhante, um ponteiro para um ponteiro é uma variável que armazena o endereço de memória de outra variável ponteiro. Neste laboratório, aprenderemos como escrever um programa C que lida com ponteiros para ponteiros.

Declarar Variáveis Necessárias

Nesta etapa, declararemos três variáveis: var, *ptr e **pptr.

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

Atribuir Valor à Variável var

Nesta etapa, atribuiremos um valor à variável var.

var = 50;

Atribuir Endereço de var ao Ponteiro ptr

Nesta etapa, atribuiremos o endereço da variável var ao ponteiro ptr.

ptr = &var;

Atribuir Endereço de ptr ao Ponteiro para Ponteiro pptr

Agora, atribuiremos o endereço do ponteiro ptr à variável ponteiro para ponteiro pptr.

pptr = &ptr;

Acessar Valor Usando pptr

Finalmente, acessaremos o valor de var usando a variável ponteiro para ponteiro pptr.

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

A primeira instrução printf imprimirá o valor da variável var.

A segunda instrução printf imprimirá o valor disponível no endereço de memória armazenado em ptr, que deve ser o valor de var.

A terceira printf imprimirá o valor disponível no endereço de memória armazenado em pptr, que deve ser o valor de ptr, e então fará a desreferenciação duas vezes para obter o valor de var.

Escrever Código Completo em main.c

Agora que passamos pelos vários passos, podemos juntar o código na função 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;
}

Resumo

Neste laboratório passo a passo, aprendemos como escrever um programa C que lida com ponteiros para ponteiros. Declaramos as variáveis necessárias, atribuímos um valor à variável, atribuímos o endereço da variável ao ponteiro, atribuímos o endereço do ponteiro ao ponteiro para ponteiro e, finalmente, acessamos o valor da variável usando o ponteiro para ponteiro. Estar familiarizado com ponteiros para ponteiros é um passo crucial no aprendizado da programação em C.