Aula 10: Passagem por valor e escopo
Na aula anterior aprendemos a passar valores para uma função — mas o que a função realmente recebe? Em C, todo argumento é passado por valor: a função recebe uma cópia, e alterar a cópia nunca afeta o original. É por isso que uma função swap 'inocente' que troca seus parâmetros deixa as variáveis de
Passar uma variável para uma função é como enviar uma fotocópia de um documento: quem recebe a cópia pode rabiscar nela à vontade — seu documento original continua perfeitamente limpo.
- passagem por valor
- O método de passagem do C: a função recebe uma cópia do valor, não a variável em si.
- cópia
- O valor colocado no parâmetro na chamada. Alterá-lo não afeta a variável de quem chamou.
- escopo
- A região do código onde uma variável existe e é acessível — geralmente o bloco onde foi definida.
- variável local
- Uma variável definida dentro de uma função ou bloco: nasce quando o bloco começa, desaparece quando ele termina.
- variável global
- Uma variável definida fora de todas as funções e visível para todas elas. Ela existe, mas é melhor evitar — é difícil rastrear quem a altera.