Exercícios Resolvidos de Introdução aos ponteiros

Ver Teoria

Enunciado

Seja a seguinte sequência de instruções em um programa C++:

Qual afirmativa é falsa?

  1. p t i armazena o endereço de i
  2. * p t i é igual a 10
  3. ao se executar * p t i   =   20 ; a variável i passará a ter o valor 20
  4. ao se alterar o valor de i , o valor da expressão * p t i será modificado
  5. p t i é igual a 10

Passo 1

Bora lá, pessoal.

Questões de marcar são mais fáceis quando a gente analisa o código antes de ir para as alternativas.

Na linha 01 é criado um ponteiro chamado p t i

Na linha 02 é criada uma variável chamada i com valor inicial 10

E na linha 03 fazemos p t i apontar para i , ou seja, a gente armazena o endereço da variável i no ponteiro p t i .

Passo 2

Agora vamos analisar as alternativas.

  1. p t i armazena o endereço de i
  2. Verdadeiro. Como vimos, na linha 03 o código faz o ponteiro p t i armazenar o valor da variável i

  3. * p t i é igual a 10
  4. Verdadeiro.

    Quando a gente usa o operador de desreferenciação * a gente acessa o valor armazenado na variável apontada pelo ponteiro.

    O ponteiro p t i aponta para i , e o valor de i é 10 . Logo, o valor de * p t i é 10

  5. ao se executar * p t i   =   20 ; a variável i passará a ter o valor 20
  6. Verdadeiro.

    Quando a gente usa o operador de desreferenciação * a gente acessa o valor armazenado na variável apontada pelo ponteiro.

    Então, alterar o valor utilizando a expressão * p t i   =   20 ; é a mesma coisa que usar a expressão i = 20 ;

  7. ao se alterar o valor de i , o valor da expressão * p t i será modificado
  8. Verdadeiro.

    A expressão * p t i acessa o valor contido na variável i . Então se o valor de i for alterado, então o valor de * p t i também será alterado.

  9. p t i é igual a 10

Falso.

p t i é um ponteiro que armazena o endereço de i

Resposta

O item e) é falso.