Questão FC373302
Um Técnico está codificando uma aplicação em C que manipula um array de inteiros e criou um ponteiro para o primeiro elemento do array. Ele deseja navegar pelos elementos subsequen
Linguagens de Programação
FCC · 2024
Um Técnico está codificando uma aplicação em C que manipula um array de inteiros e criou um ponteiro para o primeiro elemento do array. Ele deseja navegar pelos elementos subsequentes usando aritmética de ponteiros. O array contém os valores (20, 30, 40, 50, 60). O Técnico declarou o ponteiro da seguinte maneira: int “*ptr = &arr [0] Em seguida , ele incrementou o ponteiro utilizando a instrução pt r++;. Após o incremento, a instrução “ptr irá apontar para o valor
- 40.
- 50.
- 30.
- 60.
- 20.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
O ponteiro foi inicializado com \(ptr = &arr[0]\), ou seja, aponta para o primeiro elemento do array (20).
Ao executar ptr++, o ponteiro avança uma posição no array, passando a referenciar o próximo elemento: arr[1].
Em termos de endereço, o incremento não soma 1 byte, mas avança uma unidade do tipo apontado: \(ptr' = ptr + 1 = &arr[1]\), equivalente a somar sizeof(int) bytes.
Portanto, ao desreferenciar o ponteiro após o incremento (*ptr), ele retorna o valor 30, que é o conteúdo de arr[1].
Conteúdo do catálogo FC Concursos · Atualizado em