← Questões de Programação

Programação · FGV · 2023

Questão comentada de Programação

Analise o código C a seguir. #include <stdio.h> int main() { int myAge = 43; int* ptr = &myAge; printf("%d\n", *ptr); return 0; } O valor mais provável a ser exibido pela execução do código acima é:

Gabarito: C

Esse código trabalha com ponteiros em C. A variável myAge guarda o valor 43, e a linha int* ptr = &myAge; faz ptr apontar para o endereço de memória de myAge. Em outras palavras, ptr não guarda o número 43, mas o local onde ele está armazenado. Quando o programa usa *ptr no printf, ele faz a desreferência do ponteiro, ou seja, lê o valor que está naquele endereço. Por isso, o que aparece na tela é 43. Em C, isso é bem clássico: & pega o endereço, * acessa o conteúdo apontado. Não tem mistério, só o velho truque da memória.

Continue treinando

Questões relacionadas