Exercícios Resolvidos de Manipulando ponteiros

Ver Teoria

Enunciado

Observe o seguinte programa:

Defina a função de impressão p r i n t P t r para que o programa funcione corretamente e seja impresso na tela o número 5 armazenado pela variável n .

Passo 1

Analisando o cabeçalho do programa (mais precisamente a linha 03) nós conseguimos ver com clareza o escopo da função p r i n t P t r :

Onde conseguimos perceber que se trata de uma função sem retorno (por isso o tipo void) e que espera como parâmetro um ponteiro triplo para inteiro.

Passo 2

Tendo essa visão geral sobre o programa, conseguimos perceber que a única coisa que nós temos que fazer é imprimir o conteúdo de uma variável a partir de um ponteiro triplo.

Mamão com açúcar! A única coisa que nós temos que fazer é colocar um operador * para cada “instância do ponteiro”. Então pensa comigo, um ponteiro triplo nada mais é do que um ponteiro que armazena o endereço de outro ponteiro, que por sua vez, armazena o endereço de outro ponteiro que armazena o endereço de uma variável.

Quando nós colocamos três operadores * antes de um ponteiro triplo em uma impressão estamos falando para o programa o seguinte: eu quero o conteúdo desse ponteiro triplo (que é um ponteiro duplo), o conteúdo desse ponteiro duplo (que é um ponteiro normal) e o conteúdo desse ponteiro normal (que é o dado de uma variável).

Resposta

Dessa forma, recebendo como parâmetro o endereço do ponteiro duplo d P t r (formando o ponteiro triplo dentro da função p t r ) a função iria ser capaz de imprimir o valor 5 armazenado pela variável n .