Conversão de unidades
Por: Carolina234 • 22/4/2018 • 942 Palavras (4 Páginas) • 324 Visualizações
...
Exemplo
#include
void func1 ( int x , int y ) {
x = x + y;
y = y + 2;
printf ( “x = %d e y = %d “, x, y );
}
main() {
int a=5, b=10;
func1( a, b );
printf( “a = %d e b = %d “, a, b );
}
A execução do programa sempre começa pela função main(). Neste exemplo foram definidas duas variáveis do tipo inteiro, inicializadas com os valores a = 5 e b = 10. Logo após as declarações das variáveis a e b está sendo feita uma chamada a função func1 passando os parâmetros reais a e b nesta ordem. Neste momento a execução da função main() é interrompida e transferida para a função func1, onde existem definidos dois parâmetros formais do tipo inteiro x e y que recebem os valores dos parâmetros reais a e b, ou seja, x = a = 5 e y = b = 10.
No corpo da função func1 o primeiro comando que aparece é de atribuição x= x+y isto é, a variável x recebe o valor 15 ( x + y = 5 + 10 = 15 ). O próximo comando de atribuição y = y + 2 a variável y recebe o valor 12 ( y + 2 = 10 + 2 = 12 ). O próximo comando printf, imprime os valores de x e y ( x = 15 e y = 12 ). Como não existem mais comandos as variáveis x e y são destruídas e a execução do programa volta para a função main(), logo após a chamada da função. O próximo comando printf imprime os valores de a e b, ou seja a = 5 e b = 10. O importante a observar é que as variáveis a e b não foram alteradas. Isto significa que na passagem de parâmetros por valor o que ocorre dentro da função não tem nenhum efeito nos parâmetros reais.
Pesquisar passagem de parâmetros por referência.
...