Fala pessoal, blz?
Te uma parte da apostila que transcrevo a seguir:
----------------------------------------------------------
Exemplo: o código mostrado abaixo é uma função definida pelo usuário para calcular a média aritmética de dois números reais:
float
media2(float a, float b){
float med;
med=(a+b)/2.0;
return(med)
Depois de definirmos uma função, podemos usá-la dentro de um programa qualquer. Dizemos que estamos fazendo uma chamada a função.
Exemplo: no exemplo abaixo chamamos a função media2() dentro de um programa principal:
void
main(){
float num_1,num_2,med;
puts("Digite 2 números:");
scanf("%f %f",&num_1, &num_2);
med=media2(num_1, num_2);
//chamada a função
printf("\nA media destes numeros é %f", med);
}
----------------------------------------------------------
As minhas dúvidas são as seguintes:
Foi criado uma função, que no exemplo se chama
media2. Estando todas as variáveis (a, b e med), usados dentro da mesma função, por que med não foi declarado junto com os demais, ou seja, dentro do (), mesmo sendo do mesmo tipo?
Quando se fez a
chamada a função, creio que num_1 se refira ao "a", e num_2 se refira ao "b", ou não é nada disso?
To em dúvida porque em main(), foi declarada? o num_1, num_2 e med novamente. Por que isso? Dá impressão de trabalho em dobro na declaração de variáveis....
Isso tem a ver em usar nomes "genéricos" para as variáveis para usar em funções, e depois dar um nome que represente melhor estas variáveis no programa principal?
Valeu pelas respostas postadas das questões anteriores!
Tks,
Wil