Funçoes por passagem de parametros
CAMPUS NATAL - CENTRAL
DIRETORIA DE EDUCAÇÃO E TECNOLOGIA DA INFORMAÇÃO
Av. Sen. Salgado Filho, 1559, Natal/RN, 59015-000. Fone/FAX (084) 4005-2637
E-mail: dietinf@ifrn.edu.br - Site: http://www.ifrn.edu.br/dietinf
Curso: - Superior de Tecnologia em Análise e Desenvolvimento de Sistemas
- Superior de Tecnologia em Redes de Computadores
Disciplina: - Algoritmos e Técnicas de Programação
- Introdução à Programação
Professor: Fabiano Papaiz
FUNÇÕES
PASSAGEM DE PARÂMETROS POR VALOR E POR REFERÊNCIA
As funções que criamos até agora, utilizamos a passagem de parâmetros por valor.
Neste caso, a função recebe uma cópia do valor de uma variável e a variável em si não é alterada pela função.
Vejamos um exemplo:
Neste exemplo, declaramos uma variável a em main() e inicializamos o seu valor em
2. Em seguida, chamamos a função dobro() passando como parâmetro a variável a. Note que a função dobro() possui um parâmetro também chamado de a. Dentro desta função, alteramos o valor de a para o dobro do seu valor original, logo após, exibimos o valor de a e terminamos a função. Voltando para main(), após a chamada de dobro() exibimos novamente o valor de a.
A primeira vista, podemos achar que o valor de a (declarada em main()) será alterado para 4 logo após a chamada à função dobro(). Mas isso não acontece – veja a saída desse programa: 1
Perceba que a vale 4 dentro da função dobro(), mas dentro de main() a ainda vale 2.
Isso acontece porque a variável a de main() é uma variável local – portanto só pode ser acessada e modificada dentro da função main(). Da mesma forma, o parâmetro a de dobro() se comporta como uma variável local desta função – podendo ser acessada apenas dentro da função dobro().
O fato delas terem o mesmo nome (a) faz com que a gente possa se confundir achando que se trata da mesma variável.
O parâmetro a de dobro() recebe uma cópia do valor da variável a de main() - daí vem