parametros mini

3
1 PASSAGEM DE PARÂMETROS PASSAGEM DE PARÂMETROS Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1 PASSAGEM DE PARÂMETROS PASSAGEM 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. Yandre Maldonado - 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. Yandre Maldonado - 3 PASSAGEM DE PARÂMETROS PASSAGEM DE PARÂMETROS

Upload: valdinho-pereira

Post on 02-Jul-2015

38 views

Category:

Software


2 download

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

Page 1: Parametros mini

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

Page 2: Parametros mini

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

Page 3: Parametros mini

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