Assumindo as seguintes declarações em C++: int y = 5; int ...

Próximas questões
Com base no mesmo assunto
Q737819 Programação

Assumindo as seguintes declarações em C++:

int y = 5;

int *yPtr;

é correto afirmar que o comando yPtr = &y;

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a B.

Vamos entender o porquê:

Em C++, um conceito fundamental é o uso de ponteiros. Um ponteiro é uma variável que armazena o endereço de memória de outra variável. Isso pode ser um pouco abstrato no começo, mas é essencial para manipulação direta de memória e eficiência em programas.

No código apresentado, temos a variável int y = 5; que armazena o valor 5 em uma posição específica da memória. A declaração int *yPtr; inicializa um ponteiro que pode armazenar o endereço de uma variável do tipo int.

O comando yPtr = &y; é crucial aqui. O operador & em C++ é o operador de endereço, e é usado para obter o endereço da variável y. Então, essa linha atribui o endereço de memória de y à variável yPtr. Por isso, a alternativa B está correta: atribuímos o endereço da variável y à variável ponteiro yPtr.

Agora, vamos analisar as alternativas incorretas:

A - Esta afirmação está incorreta porque não atribuímos o valor de y à yPtr, mas sim o endereço de y.

C - Essa alternativa está errada. O comando não atribui o endereço de yPtr à y, mas sim ao contrário: o endereço de y é atribuído à yPtr.

D - Esta opção é falsa porque não estamos atribuindo um valor de um ponteiro à variável y. Estamos lidando com endereços, não com valores diretos de variáveis.

E - Isso está incorreto porque a linha de código não atribui NULL ao ponteiro yPtr. Ao invés disso, atribui o endereço de y a yPtr.

Compreender o uso de ponteiros e operadores relacionados, como & e *, é essencial para um bom entendimento de C++ e muitos aspectos de programação que exigem manipulação eficiente de memória.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo