Exercícios Resolvidos de Manipulando ponteiros

Ver Teoria

Enunciado

Observe o seguinte trecho de código:

Quais serão os valores de x , y e p ao final de sua execução?

Passo 1

A melhor forma de resolvermos esse exercício é executarmos o trecho de código dado passo a passo.

Começando pela linha 03, conseguimos ver facilmente a declaração de duas variáveis inteiras x e y e de um ponteiro, também inteiro, chamado p .

Passo 2

A partir da linha 05 temos diversas manipulações entre essas declarações, a primeira delas é a atribuição do endereço da variável y ao ponteiro p (linha 05), em seguida temos a atribuição do valor apontado por p a x (linha 06) e a atribuição do valor 4 novamente a x (linha 07) que sobrescreve a atribuição realizada na linha 06.

Logo, até agora temos x armazenando o valor 4 e p apontando para a variável y .

Passo 3

Na linha 08 nós conseguimos ver o incremento de uma unidade na variável apontada por p , como essa variável é y (que foi inicializada com 0 e não foi manipulada até essa linha) temos que agora ela armazena o valor 1.

Passo 4

Em seguida (linha 09) temos o decremento de uma unidade do valor armazenado por x , que agora passa a armazenar o valor 3.

Passo 5

Por fim, temos o incremento de x na variável apontada por p , que é y (linha 10). Como x armazena o valor 3, y (que armazena 1) agora passa a armazenar 4.

Resposta

Sendo assim, terminamos esse trecho de código com a variável x armazenando o valor 3, y o valor 4 e p o endereço de memória de y .