Observe o seguinte programa:
Defina a função de impressão para que o programa funcione corretamente e seja impresso na tela o número 5 armazenado pela variável .
Passo 1
Analisando o cabeçalho do programa (mais precisamente a linha 03) nós conseguimos ver com clareza o escopo da função :
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 (formando o ponteiro triplo dentro da função ) a função iria ser capaz de imprimir o valor 5 armazenado pela variável .