Ponteiros em Programação
Gabarito: letra B. Um ponteiro é uma variável cujo conteúdo identifica um endereço de memória, conforme conceito fundamental de estruturas de dados. O conteúdo de apoio explicita que "um ponteiro é um objeto cujo valor aponta para outro valor através de um endereço de memória", confirmando a alternativa B.
Alternativa A — ❌ Incorreta
Ponteiros não são objetos do tipo data-hora. Eles armazenam endereços de memória, independentemente do tipo de dado para o qual apontam. Afirmar que são data-hora confunde o conceito de ponteiro com tipos primitivos de data.
Alternativa B — ✅ Correta ⟵ GABARITO
Conforme definição clássica, um ponteiro é uma variável que contém um endereço de memória como seu valor. Esse endereço pode referenciar qualquer tipo de dado, e é a base para estruturas dinâmicas como listas ligadas.
Alternativa C — ❌ Incorreta
A tentativa de acesso a ponteiros não inicializados resulta em comportamento indefinido na maioria das linguagens (ex.: C). Pode retornar lixo de memória, causar falha de segmentação, ou eventualmente zero, mas não é garantido que sempre retorne zero. Portanto, a afirmação é falsa.
Alternativa D — ❌ Incorreta
O tamanho de um ponteiro em memória é fixo (geralmente 4 bytes em arquiteturas 32 bits e 8 bytes em 64 bits), independentemente do tamanho do objeto para o qual aponta. Por exemplo, um ponteiro para int (4 bytes) tem o mesmo tamanho que um ponteiro para double (8 bytes). A afirmação confunde o tamanho do ponteiro com o tamanho do dado apontado.
Alternativa E — ❌ Incorreta
Ponteiros podem sim referenciar outros ponteiros. Isso é conhecido como ponteiro para ponteiro (ex.: int **ptr em C). É um recurso comum para manipulação de matrizes dinâmicas e alocação de memória.
Gabarito: letra B