ponteiros para ponteiros no CUm ponteiro para um ponteiro é o como se nós anotasse-mos endereço de um papel que tem o endereço da casa de um amigo. Podemos declarar um ponteiro para um ponteiro com o uso da seguinte forma geral:

[clearboth]

[toggle title=”Forma geral”]
tipo_da_variável **nome_da_variável;

Algumas considerações a destacar: **nome_da_variável é o conteúdo final da variável apontada e *nome_da_variável é o conteúdo do ponteiro intermediário. No C podemos declarar ponteiros para ponteiros para ponteiros, ou então, ponteiros para ponteiros para ponteiros para ponteiros e assim por adiante. Para fazer isto (não me pergunte qual é a utilidade disto!) basta aumentar o número de asteriscos na declaracão. A lógica é a mesma.

[/toggle]
[toggle title=”Cuidados que devemos ter com os ponteiros”]

O principal cuidado que devemos ter ao utilizar um ponteiro é saber sempre para onde é que o ponteiro está a apontar (para isso devemos comentar o programa).

Outro dos cuidados que devemos tomar é nunca utilizar um ponteiro que não foi inicializado. Abaixo encontra-se um programa que mostra como não devemos utilizar um ponteiro:

main () /* Errado - Nao Execute */
{
int x,*p;
x=13;
*p=x;
}

Este programa pode ser compilado e irá trabalhar, mas, o que acontecerá? Ninguém sabe. O ponteiro ‘p’ pode estar a apontar para qualquer lugar porque nós, no programa acima, estamos a gravar o número 13 num lugar desconhecido. Com um número apenas, você provavelmente não vai ver nenhum defeito. Agora, se você começar a gravar números em posições aleatórias no seu computador, não vai demorar muito até este bloquear (se não alguma coisa pior).

[/toggle]

Gostou do Tutorial? Então deixe um comentário abaixo!

Anúncios