Buscar

Passagem por referência

Galera não entendi direito a passagem por referência, alguém consegue explicar melhor?

💡 5 Respostas

User badge image

Alberto Senna Dias Neto

Quando se passa o valor de uma variável ou objeto por referência, não estamos copiando o valor, na realidade estamos passando o endereço de memória onde aquele valor ou objeto se encontra.

Dá uma olhada nessa apostila, no ítem 4.7 (página 51): http://passeidireto.com/arquivo/3309687/caelum-java-objetos-fj11

5
Dislike0
User badge image

Felipe Magalhães

Valeu Alberto!

1
Dislike0
User badge image

Andre Smaira

Para responder essa pergunta devemos colocar em prática nosso conhecimento sobre Algoritmo e Estrutura de Dados.


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 / C++ a passagem por referência é implementada com o uso de ponteiros, a seguir é apresentado um exemplo para facilitar o entendimento do mesmo.

#include

void troca(int *a, int *b){

        int temp;

        temp=*a;

        *a=*b;

        *b=temp;

}

int main(){

        int a=2,b=3;

        printf("Antes de chamar a função :\na=%d\nb=%d\n",a,b);

        troca(&a,&b);

        printf("Depois de chamar a função:\na=%d\nb=%d\n",a,b);

        return 0;

}


Portanto, a passagem de parâmetros por referência é enviada para a função uma referência às variáveis utilizadas, e não uma simples cópia, pelo que as alterações realizadas dentro da função irão certamente alterar os valores contidos nessas variáveis, esta “passagem” é feita utilizando do recurso de ponteiros.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais