Em uma linguagem que suporta passagem de parâmetros por ref...

Próximas questões
Com base no mesmo assunto
Q3885121 Programação
Em uma linguagem que suporta passagem de parâmetros por referência, uma função troca(a, b) é chamada. O Analista observa que após a execução da função, os valores das variáveis originais x e y (passadas como a e b) são alterados.
Assinale a afirmativa correta a respeito do mecanismo exato da passagem por referência que permite à função alterar o valor da variável original (x ou y) no escopo do chamador. 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C

Fundamento decisivo: A questão pedia identificar o mecanismo que permite alterar a variável original do chamador: atuação sobre o mesmo armazenamento, e não sobre cópias.

Tema central: Passagem por referência
Análise das alternativas
A
Errada
Está errada porque fala em cópias temporárias e retorno posterior, o que não corresponde à passagem por referência.
B
Errada
Está errada porque duplicar x e y na stack cria cópias locais, e não acesso ao mesmo armazenamento da variável original.
C
Certa
A alternativa C está certa porque descreve o mecanismo que sustenta a passagem por referência: o parâmetro formal não recebe uma cópia independente do valor, mas fica vinculado ao mesmo armazenamento da variável original. Assim, quando a função modifica o parâmetro, a alteração recai sobre x e y no escopo do chamador.
D
Errada
Está errada porque confunde passagem de parâmetros com valor de retorno; a alteração dos originais não depende disso.
E
Errada
Está errada porque uso de variáveis globais não define passagem por referência.
Pegadinha da questão
A confusão explorada foi trocar passagem por referência por cópia com retorno, duplicação local na stack, mecanismo de retorno da função ou simulação por globais.
Dica para questões semelhantes
  • Se a alteração feita dentro da função aparece diretamente na variável do chamador, procure vínculo com o mesmo armazenamento, e não com cópia.
  • Elimine alternativas que expliquem o efeito por retorno de valor, porque isso é mecanismo diferente de passagem por referência.
  • Elimine descrições baseadas em duplicação ou cópia local, pois elas não justificam a alteração da variável original.

Clique para visualizar este gabarito

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