Diferença entre out e ref em C

Índice:

Diferença entre out e ref em C
Diferença entre out e ref em C

Vídeo: Diferença entre out e ref em C

Vídeo: Diferença entre out e ref em C
Vídeo: C# Out parameters Vs REF parameters 2024, Dezembro
Anonim

Key Difference – out vs ref in C

C é uma linguagem de programação moderna desenvolvida pela Microsoft. Ele é usado para desenvolver vários aplicativos para desktop, web e mobile. Funções ou métodos é um conceito em programação. Esse grupo de instruções que são usadas para executar uma tarefa específica é conhecido como função ou método. Em programas C, a execução começa em main(). É um exemplo de método. Ao chamar um método, os dados são passados para o método ou recebidos do método. O método que está chamando o novo método é conhecido como chamando o método. O novo método é conhecido como o método chamado. Para gerenciar os valores de passagem e recuperar o resultado, o C usa parâmetros. São parâmetros valorizados, parâmetros de saída e parâmetros de referência. Os parâmetros de valor são usados para passar parâmetros para o método por valor. Os parâmetros de referência são usados para passar parâmetros para o método por referência. Os parâmetros de saída são usados para passar o resultado de volta do método. Em C, a palavra-chave out é usada para parâmetros de saída e a palavra-chave ref é usada para referenciar parâmetros. A principal diferença entre out e ref em C é que, out é uma palavra-chave usada para referenciar um parâmetro de saída que é usado para passar resultados do método chamado para o método de chamada enquanto ref é uma palavra-chave para referenciar um parâmetro de referência que é usado para passar dados do método chamado para o método chamado e para receber os dados do método chamado para o método chamado.

O que há em C?

A sintaxe para função ou método é a seguinte. Um método tem vários elementos, como nome do método, lista de parâmetros, tipo de retorno e especificador de acesso.

(lista de parâmetros)

{ //instruções a serem executadas

}

Cada método tem um método único para fazer a chamada da função. As instruções executáveis estão dentro de chaves. O tipo de retorno explica se a função retorna um valor ou não. Quando não há tipo de retorno, é chamado de void. O especificador de acesso é usado para especificar a acessibilidade do método no aplicativo. Os parâmetros são usados para receber ou passar dados para o método. Também pode haver métodos sem parâmetros. Os parâmetros podem ser parâmetros valorizados, parâmetros de saída ou parâmetros de referência.

Diferença entre out e ref em C
Diferença entre out e ref em C

Os parâmetros de saída são usados para passar os resultados de volta para o método de chamada. Para isso, o parâmetro deve ser declarado com a palavra-chave out. O parâmetro de saída não cria um novo local de armazenamento. Geralmente, um método retorna um valor. Mas em C, é possível retornar dois valores de uma função usando parâmetros de saída. Consulte o programa abaixo.

namespace application1{

Cálculo de classe pública{

public void display(out int a, out int b){

int valor=5;

a=valor;

b=valor;

a=a a;

b=bb;

}

public static void main(String args){

int valor1=10, valor2=20;

Cálculo cal=new Calculation();

cal.display(out value1, out value2);

Console. ReadLine();

}

}

}

A função display é chamada a partir do método main. O valor1 e o valor dois têm 10 e 20, mas não são incluídos no método. O valor de a é 25 e o valor de b também é 25 na função. Portanto, esses valores são retornados. Ao imprimir valor1 e valor2, não fornecerá 10 e 20. Em vez disso, imprimirá 25 e 25. Usando a palavra-chave out, vários valores podem ser retornados do método.

O que é ref em C?

Ao passar parâmetros por valor, um novo local de armazenamento é criado para cada parâmetro. Os parâmetros reais que foram enviados do programa principal não mudam. Em vez disso, esses valores são copiados para um local separado. Essas novas cópias de variáveis são chamadas de parâmetros formais. Consulte o código abaixo.

namespace application1{

Cálculo de classe pública{

public void swap(int x, int y){

int temp;

temp=x;

x=y;

y=temp;

}

public static void main(String args){

Cálculo cal=new Calculation();

int p=2;

int q=3;

cal.swap(p, q);

Console. WriteLine(p);

Console. WriteLine(q);

Console. ReadLine();

}

}

}

De acordo com o programa acima, a classe Calculation possui um método swap(). No programa principal, é criado um objeto do tipo Calculation. Existem dois valores, como p e q. A variável p tem valor 2 e a variável q tem valor 3. Esses dois valores são passados para o método swap. No método swap, o valor 2 é copiado para a variável x e o valor 3 é copiado para a variável y. Usando a variável temp, os valores são trocados. De volta ao programa principal, ao imprimir p e q, os valores não são trocados. O valor p ainda é 2 e o valor q é 3. Mesmo no método swap, os valores são trocados, mas não refletem no programa principal.

Ao contrário da passagem de valores como acima, é possível passar parâmetros por referência. Uma variável de referência é uma referência à localização da memória. Não há nenhum novo local de memória criado. As mudanças no método refletidas no programa principal. Em C, os parâmetros de referência são referidos usando a palavra-chave ref. Consulte o programa abaixo.

namespace application1{

Cálculo de classe pública{

public void swap(ref int x, ref int y){

int temp;

temp=x;

x=y;

y=temp;

}

public static void main(String args){

Cálculo cal=new Calculation();

int p=2;

int q=3;

cal.swap(ref p, ref q);

Console. WriteLine(p);

Console. WriteLine(q);

Console. ReadLine();

}

}

}

De acordo com o programa acima, a classe Calculation possui o método swap. No programa principal, é criado um objeto do tipo Calculation. São duas variáveis, como p e q. A variável p tem o valor 2 e a variável q tem o valor 3. Em vez de passar valores, a referência às localizações de memória de peq são passadas para o método. Essas variáveis de referência são referidas usando ref. No método de troca, em vez de copiar os valores para um novo local, as alterações são feitas nos parâmetros reais. Ao imprimir os valores p e q do programa principal, ele fornecerá os valores trocados. Agora o valor p é 3 e o valor q é 2.

Qual é a semelhança entre out e ref em C?

Ambos são palavras-chave usadas para referenciar os parâmetros de um método

Qual é a diferença entre out e ref em C?

out vs ref in C

A saída é uma palavra-chave em C que é usada para referenciar um parâmetro de saída. Ele é usado para passar os resultados de um método chamado para chamar o método. A ref é uma palavra-chave em C que é usada para referenciar um parâmetro de referência. Ele é usado para passar dados do método chamador para o método chamado e retornar dados do método chamado para o método chamador.
Funcionalidade
Ao usar a palavra-chave out, os dados podem ser passados do método chamador para o método chamado. Mas esses dados são descartados. Ele é usado para passar o resultado para o método chamador do método chamado. Ao usar a palavra-chave ref, os dados são passados do método chamador para o método chamado e os dados manipulados são passados de volta para o método chamador.
Passagem de dados
Ao usar a palavra-chave out, os dados são passados de uma maneira que é um método chamado para o método chamador. Ao usar a palavra-chave ref, os dados são passados de duas maneiras, ou seja, do método chamador para o método chamado e do método chamado para o método chamador.

Resumo – fora vs ref em C

Ao invocar um método, pode ser necessário passar os valores para o método e obter os resultados do método. C tem parâmetros diferentes para conseguir isso. Os parâmetros de valor são usados para passar parâmetros para o método por valor. Os parâmetros de referência são usados para passar parâmetros para o método por referência. Os parâmetros de saída são usados para passar o resultado de volta do método. Em C, a palavra-chave out é usada para parâmetros de saída e a palavra-chave ref é usada para referenciar parâmetros. A diferença entre out e ref em C é que, out é uma palavra-chave usada para referenciar um parâmetro de saída que é usado para passar resultados do método chamado para o método de chamada enquanto ref é uma palavra-chave para referenciar um parâmetro de referência que é usado para passar dados de chamando o método para o método chamado e para receber os dados do método chamado para o método chamado.

Baixe o PDF de out vs ref em C

Você pode baixar a versão em PDF deste artigo e usá-la para fins offline conforme nota de citação. Faça o download da versão em PDF aqui: Diferença entre Out e Ref in C

Recomendado: