Passagem de parâmetros em linguagens de programação
Gabarito: letra A. Para que uma função possa alterar o conteúdo da variável original passada como parâmetro, é necessário passar o endereço da variável — ou seja, fazer uma passagem por referência (ou por ponteiro). Em linguagens como C, usa-se o operador & para obter o endereço; em Java e Python, objetos são passados por referência (mas tipos primitivos por valor). A alternativa correta reflete esse princípio fundamental.
A questão testa o conhecimento sobre os mecanismos de passagem de parâmetros. Quando se deseja modificar a variável original, não basta passar seu valor (cópia) ou seu tipo; é preciso que a função conheça a localização da variável na memória.
Alternativa A — ✅ Correta ⟵ GABARITO
Passar o endereço da variável (ponteiro/referência) permite que a função acesse e modifique diretamente a posição de memória onde a variável está armazenada, alterando assim seu conteúdo original. Exemplo em C: void troca(int *a, int *b) { int temp = *a; *a = *b; *b = temp; }.
Alternativa B — ❌ Incorreta
O tipo da variável não permite alteração do conteúdo; apenas informa que tipo de dado ela armazena. Não existe mecanismo de passagem que use apenas o tipo para modificar o valor.
Alternativa C — ❌ Incorreta
Passar o valor da variável (passagem por valor) cria uma cópia do dado. Alterações dentro da função afetam apenas a cópia, não a variável original.
Alternativa D — ❌ Incorreta
Passar uma cópia da variável é exatamente a passagem por valor. A função recebe uma duplicata, e qualquer modificação fica restrita à função.
Alternativa E — ❌ Incorreta
O termo instância da variável é vago e não corresponde a um mecanismo padrão de passagem de parâmetros para alteração. Em orientação a objetos, a instância de um objeto pode ser passada por referência (em Java, por exemplo), mas o enunciado se refere a variável em sentido geral, e a forma correta e universal é o endereço.