parametros mini
DESCRIPTION
Adicionar mais informações (descrição, tags, categoria) torna mais fácil para os outros encontrar seu conteúdo. A pontuação aumenta conforme você adiciona cada item.TRANSCRIPT
1
PASSAGEM DE PARÂMETROSPASSAGEM DE PARÂMETROS
Prof. Yandre Maldonado e Gomes da Costa
Prof. YandreMaldonado-1
PASSAGEM DE PARÂMETROSPASSAGEM DE PARÂMETROS
• A passagem de parâmetros em uma função pode se dar de diferentes formas. As duas principais são:
– Por valor
– Por referência
Prof. YandreMaldonado-2
– Por valor:• neste mecanismo, o parâmetro formal faz uma cópia
do valor do parâmetro real, fazendo com que todas as ações da função manipulem somente o valor copiado, evitando a alteração do valor original;
• Normalmente utilizada nos casos em que se pretende apenas fornecer um valor (argumento de entrada) para a função sem a necessidade de preservar as alterações que ocorram sobre o mesmo;
Prof. YandreMaldonado-3
PASSAGEM DE PARÂMETROSPASSAGEM DE PARÂMETROS
2
• Exemplo:– Uma função que incrementa o valor de um
objeto inteiro passado como parâmetro por valor.
void incrementa (int x){x=x+1;}
void incrementa (int x){x=x+1;}
PASSAGEM DE PARÂMETROSPASSAGEM DE PARÂMETROS
Prof. YandreMaldonado-4
– Por referência:• Neste mecanismo, a relação existente entre os
parâmetros formal e real está no endereço dos parâmetros e não em seus valores;
• O que realmente é passado é o endereço do parâmetro real para o formal. Assim, quem sofre a ação é o próprio parâmetro real;
• Esta ação é de caráter permanente;• Normalmente utilizada quando se pretende preservar
as alterações ocorridas sobre o objeto passado como parâmetro real.
* Principalmente nos casos em que se deseja preservar alterações ocorridas em mais de um valor.
PASSAGEM DE PARÂMETROSPASSAGEM DE PARÂMETROS
Prof. YandreMaldonado-5
• Exemplo:– Uma função que incrementa o valor de um
objeto inteiro passado como parâmetro por referência.
void incrementa (int *x){*x=*x+1;}
void incrementa (int *x){*x=*x+1;}
PASSAGEM DE PARÂMETROSPASSAGEM DE PARÂMETROS
Prof. YandreMaldonado-6
3
• Em C, pode-se distinguir a passagem por valor ou referência da seguinte forma:• Na declaração:
void F1 (int x);
void F2 (int *x);
• No uso:
int a;
...
F1 (a);
F2(&a);
Por valorPor valor
Por referênciaPor referência
PASSAGEM DE PARÂMETROSPASSAGEM DE PARÂMETROS
Prof. YandreMaldonado-7
• Exercício:1. Construa uma função em C que receba como
argumentos dois valores inteiros e calcule e exiba os valores obtidos pela multiplicação entre ambos e pela adição entre ambos. Construa três soluções diferentes:• Com passagem de parâmetros por valor;• Com passagem de parâmetros por referência;• Sem passagem de parâmetros;
2. Construa uma função em C que receba como parâmetros dois objetos inteiros e faça uma troca entre os valores de ambos.
PASSAGEM DE PARÂMETROSPASSAGEM DE PARÂMETROS
Prof. YandreMaldonado-8