Use o botão abaixo para reportar erros ou dar sugestões.
Computação Científica - Um Livro Colaborativo
Para entender como funciona a passagem de parâmetros, vamos trabalhar com um exemplo.
Uma solução simples para o exemplo acima é implementar a troca direto no main.
No entanto, suponha que gostaríamos de separar um função para fazer a troca. Então, a função entrar a e b e devolver com valores trocados. Teste o código abaixo:
Apesar de compilar e rodar sem erros, o código não faz o que queremos. Isso se deve ao fato que quando executamos um função, o programa separa uma parte da memória para o trabalho, faz cópia das valores do parâmetros de entrada, inicia variáveis locais, e, no fim da rotina, apaga toda a parte da memória usada para esse fim. Na prática, a função troca criou um espaço na memória, copiou os valores de a e b e trocou eles de lugar. Mas os valores de a e b nas posições originais não se alteraram. Isso de resolve se passarmos uma referência para a função e não um valor.
Agora, a função troca criou um ambiente e levou os endereços de a e b. Com os endereços, pudemos acessar os valores de a e b que estão fora desse ambiente e trocá-los de posição.
Em resumo, quando queremos apenas usar um parâmetro dentro de uma função, podemos passar o valor. Mas se queremos atualizar seu valor na passagem pela função, deveremos passar a referência.
Vamos refazer o mesmo exemplo de troca usando vetor de duas posições
Agora, nós passamos um vetor e o atualizamos, que parece contradizer aquilo que acabamos de dizer. Mas não se engane, quando usamos vetor, automaticamente o função já passa apenas a referência. Veja uma forma alternativa abaixo:
Exemplo 6.2.2. Implemente uma rotina para calcular a raíz de uma função pelo método de Newton passando o chute inicial e retornando a solução e o número de iterações necessárias.
Este texto é disponibilizado nos termos da licença Creative Commons Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC-BY-SA 3.0). Página gerada em 19/8/2020 às 17:33:16.