TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

ATPS De Algoritimos E Programaçao Etapa 3,4

Ensaios: ATPS De Algoritimos E Programaçao Etapa 3,4. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  28/9/2013  •  645 Palavras (3 Páginas)  •  342 Visualizações

Página 1 de 3

Etapa 3

Passagem de parâmetros para Funções.

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. Na passagem por valor, o valor da expressão é calculado, e o valor resultante é passado para a execução da função. Na passagem por referência, o endereço de uma variável deve ser passado na chamada da função. Dessa forma, a função pode modificar a variável diretamente, o que em geral não é recomendável, mas há situações onde esse recurso é necessário, por exemplo, para a criação de funções que devolvem mais de um valor.

Passagem por Valor

A função recebe uma cópia da variável que é fornecida quando é invocada. Todas as alterações feitas dentro da função não vão afetar os valores originais. Na passagem por valor, os parâmetros de uma função funcionam como variáveis suas, ou seja nada tem a ver com as variáveis da função que a chamou. Desta forma alterações nos valores desses parâmetros não interferem nos valores das variáveis da função chamadora.

Exemplo:

int soma (int x1, int x2)

{

x1+= x2;

return x1;

}

void main (void)

{

int v1, v2;

scanf(“%d %d”,&v1,&v2);

printf(“%d”,soma(v2,v1));

}

Etapa 4

Passagem por referência

No entanto pode ser interessante que uma variável na função chamadora possa ser alterada (ex: função que troque o valor de duas variáveis). Ou mesmo haja a necessidade de se retornar mais de um valor da função (pois com o return só é possível retornar um único valor), por exemplo função que retorne as horas e minutos dados apenas os minutos.

Para esses casos, algumas linguagens permitem a passagem de parâmetros por referência, onde uma variável passada como parâmetro ao ser alterada dentro da função tem seu valor alterado também na função chamadora (é na verdade uma única variável usada por ambas as fuções).

Na linguagem C na teoria existe apenas passagem de parâmetros por valor, mas através do uso de ponteiros se consegue na prática a passagem de parâmetros por referência.

Exemplo:

void troca(int *x, int *y)

{

int aux;

aux=*x;

*x=*y;

*y=aux;

}

void main(void)

{

int a=10,b=20;

troca(&a,&b);

printf(“%d %d”,a,b);

}

...

Baixar como (para membros premium)  txt (4.4 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com