-
Na passagem por referência, a variável interna e externa apontam para o mesmo endereço. Portanto, alterações no valor da variável interna serão refletidas na variável externa.
Na passagem por valor, uma cópia do valor da variável externa é feita para outra posição de memória, que será referenciada pela variável interna. Portanto, no caso de passagem por valor, se a variável interna é alterada, essa alteração não é refletida na variável externa.
-
Passagem -> Conceito: Em programação, existem blocos que podem ser executados várias vezes (chamado de rotina), onde é permitido inserir valores ou endereços de memória que estão nas variáveis. Agora é que mora a mágica (kk), por isso o termo passagem. Aquele valor ou endereço estava na variável e é passado para a rotina. Apenas explicando um pouco mais, essa variável pode ser passada de duas formas para a rotina, a saber:
Por valor = passa para o parâmetro uma cópia do dado. Não altera o valor original, somente a que está dentro do parâmetro. Por exemplo: Um número é somando dentro do parâmetro, mas não é possível alterar na variável que está no escopo global.
Por referência = passa para o parâmetro endereço de memória. A variável é alterada.
-
Os métodos de passagem de parâmetros pode ser entendido como a maneira pelas quais transmitimos um o valor ou um caminho de acesso de uma variável para um subprograma. Podemos destacar três métodos de passagem de parâmetros:
- Passagem por valor
- Passagem por referência
- Passagem por nome
Passagem por valor
O principal método de passagem de parâmetro utilizado na linguagem C é a passagem por valor. Neste método de passagem, o valor do parâmetro real é copiado para o parâmetro correspondente no subprograma. Este, age como uma variável local do subprograma.
Passagem por referência
Na passagem de parâmetro por referência é transmitido um caminho de acesso para o parâmetro real para o subprograma. Nenhuma custo adicional para cópia de valores é exigido. Por outro lado, o acesso dos parâmetros formais no subprograma será mais lento. O acesso dos parâmetros reais podem gerar efeitos colaterais indesejáveis, pois altera os valores iniciais dos parametros.
Passagem de parâmetro por nome
A passagem por nome é o nome dos parâmetros reais são substituídos textualmente pelos valores dos parâmetros formais.
Este método é bem mais lento que os métodos anteriores e pode confundir bastante o leitor do código.
A passagem de parâmetro por nome está bastante relacionada com substituição de macros. A substituição dos macros compartilha alguns dos problemas da passagem de parâmetro por nome.
-
Força Guerreiro!!!!!!