A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

F UNÇÕES : PASSAGEM DE PARÂMETROS Aluno:Kaynã Vasconcelos Santos Matéria: Estrutura de dados e algoritmos I Turma: 020200 Professor: Danilo Silva dos Santos.

Apresentações semelhantes


Apresentação em tema: "F UNÇÕES : PASSAGEM DE PARÂMETROS Aluno:Kaynã Vasconcelos Santos Matéria: Estrutura de dados e algoritmos I Turma: 020200 Professor: Danilo Silva dos Santos."— Transcrição da apresentação:

1 F UNÇÕES : PASSAGEM DE PARÂMETROS Aluno:Kaynã Vasconcelos Santos Matéria: Estrutura de dados e algoritmos I Turma: Professor: Danilo Silva dos Santos

2 PASSAGEM DE PARÂMETROS A linguagem de programação C permite que os parâmetros sejam passados para as funções de duas maneiras, por valor e por referência.

3 P ASSAGEM POR VALOR A função recebe uma cópia da variável que é fornecida quando é chamada. Todas as alterações feitas dentro da função não afetarão os valores originais. O valor da expressão é calculado, e o valor resultante é passado para a execução da função.

4 E XEMPLO 1 #include int soma(int x, int y){ return(x+y);} int main(){ int a, b, c; a= 4; b=2; c=soma(a,b); printf("%d",c); printf }

5 P ASSAGEM POR VALOR É a forma mais comum utilizada para passagem de parâmetros. Considerando as funções trigonométricas, seno, cosseno e tangente. Podemos ter a função seno, recebendo o valor de um ângulo e devolvendo o seno desse ângulo. Se tivermos as funções seno e cosseno, podemos definir uma função tangente.

6 E XEMPLO 2 float seno (float angulo); float cosseno (float angulo); float tangente (float angulo) { float s, c; s = seno(angulo); c = cosseno(angulo); return s/c; }

7 P ASSAGEM POR VALOR Essa função calcula o seno antes de calcular o cosseno.Se a função seno modifica-se o valor do parâmetro angulo, o valor passado para a função cosseno seria diferente do valor original usado para o seno, e o resultado da função tangente estaria incorreto. A passagem por valor evita esse tipo de erro através da criação de variáveis locais para os parâmetros. Quando uma função é chamada, essas variáveis são carregadas, como em atribuições, antes do início da execução do corpo da função.

8 P ASSAGEM POR REFERÊNCIA Neste caso o que é enviado para a função é uma referência às variáveis utilizadas, e não uma simples cópia, pelo que as alterações realizadas dentro da função irão certamente alterar os valores contidos nessas variáveis.

9 E XEMPLO 1 #include void troca(int *a, int *b){ int temp; temp=*a; *a=*b; *b=temp; } int main(){ int a=2,b=3; printf("Antes de chamar a função :\na=%d\nb=%d\n",a,b); troca(&a,&b); printf("Depois de chamar a função:\na=%d\nb=%d\n",a,b); return 0; }

10 U TILIDADE :P ASSAGEM POR REFERENCIA Quando precisamos criar uma função que devolva mais de um valor, temos que definir esses parâmetros com um caractere '*' no protótipo da função, e ao chamar a função, os parâmetros utilizados na chamada correspondentes à saída precisam ser precedidos pelo caractere '&' para indicar que eles podem ser modificados pela função chamada. Um exemplo são funções que trabalham com números imaginários(precisam retornar 2 valores).

11 E XEMPLO 2 #include #include void complexo2 (float *r, float *t) { float real; real = (*r * *r) - (*t * *t); *t = 2 * *r * *t; *r = real; } void complexo2 (float *r, float *t); int main () { float a, b; printf ("Entre com um numero complexo (2 numeros inteiros): "); scanf("%f %f", &a, &b); complexo2 ( &a, &b); printf("O quadrado do número complexo é %f + i %f\n", a, b); system("pause"); return 0; }


Carregar ppt "F UNÇÕES : PASSAGEM DE PARÂMETROS Aluno:Kaynã Vasconcelos Santos Matéria: Estrutura de dados e algoritmos I Turma: 020200 Professor: Danilo Silva dos Santos."

Apresentações semelhantes


Anúncios Google