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

Função Com Passagem De Parametro Por Referencia

Artigos Científicos: Função Com Passagem De Parametro Por Referencia. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  10/4/2014  •  581 Palavras (3 Páginas)  •  314 Visualizações

Página 1 de 3

FUNÇÃO COM PASSAGEM POR REFERÊNCIA

- Passagem por referência – É passada para a função uma referência da variável, sendo possível alterar o conteúdo da variável original usando-se esta referência.

Na linguagem C a passagem por referência é implementada com o uso de ponteiros.

Usando ponteiros (também chamados de apontadores) é possível alterar os valores das variáveis passadas como argumentos para uma função.

A função utilizada dessa forma é denominada função com passagem por referência. Nesse tipo de função, os argumentos passam os endereços de memória para os parâmetros declarados na função. Sendo assim, os parâmetros que recebem os valores passados obrigatoriamente tem que ser ponteiros já que irão receber um endereço de memória.

As alterações feitas dentro da função tem efeito direto nas variáveis passadas como argumentos na chamada. Isto proporciona a oportunidade de retornar vários valores em uma única função já que as alterações ocorrem diretamente nas variáveis.

Para passarmos uma variável para uma função e fazer com que ela seja alterada, precisamos passar a referência dessa variável, em vez de seu valor.

quando passamos um valor, a função copia esse valor e trabalhar somente em cima da cópia dessa variável, e não na variável em si. Por isso nossas variáveis nunca eram alteradas quando passadas para funções.

Porém, é muito importante e útil que algumas funções alterem valores de variáveis.

Por referência entenda endereço, um local. No caso, em vez de passar o valor da variável, na passagem por referência vamos passar o endereço da variável para a função.

Para fazer isso, basta colocar o operador & antes do argumento que vamos enviar, e colocar um asterisco * no parâmetro da função, no seu cabeçalho de declaração, para dizer a função que ela deve esperar um endereço de memória, e não um valor.

Na passagem de parâmetro por referência é transmitido um caminho de acesso para o parâmetro real para o subprograma. Nenhuma custo adicional para cópia de valores é exigido. Por outro lado, o acesso dos parâmetros formais no subprograma será mais lento. O acesso dos parâmetros reais podem gerar efeitos colaterais indesejáveis.

Uma função ou expressão é dita ter um efeito colateral se além de produzir um valor, ela também modifica o estado do programa. Na presença de efeitos colaterais, o comportamento do programa depende da história, isto é, da ordem em que as expressões são avaliadas.

Exemplo:

Intf(int&a){

A= 2*a;

Return a;

}

a=5

b= f(a) + a;

Observe que o valor de b depende da ordem que a expressão é avaliada. Se a avaliação for avaliada da esquerda para a direita, o valor da expressão 20. Se a expressão for avaliada da direita para a esquerda, o valor da expressão será 15.

Uma variável de um tipo de referência não contém seus dados diretamente. Ele

...

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