Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FUNDATEC 2026

ProgramaçãoLinguagens de programação
Código
qg686034
Banca
FUNDATEC
Órgão
IFC-SC
Ano
2026
Nível
Superior
Cargo
Professor EBTT - Informática: Programação de Sistemas
Analise o seguinte código em linguagem C:int x = 5;int *p = &x;int **pp = &p;A expressão **pp acessa:
  1. AO endereço de x.
  2. BO endereço de p.
  3. CO valor armazenado em x.
  4. DO valor armazenado em p.
  5. EUm valor indefinido.
Revelar gabarito e comentário

GabaritoC — O valor armazenado em x.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Ponteiros e Desreferenciação em C

Gabarito: alternativa C. A expressão **pp acessa o valor armazenado em x. Isso porque pp é um ponteiro para ponteiro que aponta para p, e p aponta para x. Ao aplicar dois operadores de desreferenciação (*) sobre pp, obtém-se o valor de x (5).

A questão testa o entendimento de ponteiros duplos e a cadeia de desreferenciação. Vamos analisar cada alternativa.

  1. 1pp = &p
  2. 2*pp = p = &x
  3. 3**pp = x = 5
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

O endereço de x é obtido com &x ou simplesmente com p (o valor de p). A expressão *pp (apenas um asterisco) resultaria no valor de p, que é o endereço de x. Mas **pp desreferencia duas vezes, chegando ao valor de x.

Alternativa B — ❌ Incorreta

O endereço de p é obtido com &p. O ponteiro pp armazena exatamente esse endereço (pp = &p). Portanto, *pp fornece p (que é o endereço de x), não o endereço de p. **pp vai além, acessando o valor apontado por p.

Alternativa C — ✅ Correta

Correta. **pp percorre a cadeia: pp aponta para p; *pp é o próprio p (que armazena o endereço de x); **pp é o valor no endereço contido em p, ou seja, o valor de x (5).

Alternativa D — ❌ Incorreta

O valor armazenado em p é um endereço (o endereço de x), não o número 5. Acessar esse valor requer apenas *pp, não **pp.

Alternativa E — ❌ Incorreta

O valor não é indefinido; é perfeitamente definido como 5. A cadeia de ponteiros foi inicializada corretamente.

PEGA ESSA DICA!

Para resolver questões com ponteiros, desenhe a cadeia: variável → ponteiro → ponteiro para ponteiro. Lembre-se de que * remove um nível de indireção. Cada * adicional desce um nível na hierarquia.

Gabarito: letra C.

Link permanente: /questoes/qg686034