Skillnaden mellan ut och ref i C

Innehållsförteckning:

Skillnaden mellan ut och ref i C
Skillnaden mellan ut och ref i C

Video: Skillnaden mellan ut och ref i C

Video: Skillnaden mellan ut och ref i C
Video: What is the difference between “out” and “ref” parameters? 2024, December
Anonim

Key Difference – ut mot ref i C

C är ett modernt programmeringsspråk utvecklat av Microsoft. Den används för att utveckla olika applikationer för desktop, webb och mobil. Funktioner eller metoder är ett begrepp inom programmering. Den gruppen av påståenden som används för att utföra en specifik uppgift är känd som en funktion eller en metod. I C-program börjar exekveringen från main (). Det är ett exempel på en metod. När en metod anropas skickas data till metoden eller tas emot från metoden. Metoden som anropar den nya metoden är känd som att anropa metoden. Den nya metoden är känd som den kallade metoden. För att hantera de godkända värdena och få tillbaka resultatet använder C parametrar. De är värderade parametrar, utgångsparametrar och referensparametrar. Värdeparametrarna används för att överföra parametrar till metoden för värde. Referensparametrarna används för att skicka parametrar till metoden genom referens. Utdataparametrarna används för att skicka tillbaka resultatet från metoden. I C används nyckelordet out för utdataparametrar och nyckelordet ref används för att referera till parametrar. Den viktigaste skillnaden mellan out och ref i C är att out är ett nyckelord som används för att hänvisa en utdataparameter som används för att skicka resultat från den anropade metoden till anropsmetoden medan ref är ett nyckelord för att referera en referensparameter som används för att skicka data från anropsmetoden till anropad metod och för att ta emot data från den anropade metoden till anropsmetoden.

Vad finns ute i C?

Syntaxen för funktion eller en metod är följande. En metod har ett antal element som metodnamn, parameterlista, returtyp och åtkomstspecifikation.

(parameterlista)

{ //påståenden att köra

}

Varje metod har en unik metod för att göra funktionsanropet. De körbara uttalandena finns inom hängslen. Returtypen förklarar om funktionen returnerar ett värde eller inte. När det inte finns någon returtyp kallas det void. Åtkomstspecifikator används för att ange metodens tillgänglighet i applikationen. Parametrarna används för att ta emot eller skicka data till metoden. Det kan också finnas metoder utan parametrar. Parametrar kan vara värderade parametrar, utgångsparametrar eller referensparametrar.

Skillnaden mellan ut och ref i C
Skillnaden mellan ut och ref i C

Utdataparametrarna används för att skicka resultat tillbaka till anropsmetoden. För det bör parametern deklareras med nyckelordet out. Utdataparametern skapar inte en ny lagringsplats. I allmänhet returnerar en metod ett värde. Men i C är det möjligt att returnera två värden från en funktion med hjälp av utdataparametrar. Se programmet nedan.

namnområde application1{

public class Beräkning{

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

int value=5;

a=värde;

b=värde;

a=a a;

b=bb;

}

public static void main(String args){

int value1=10, value2=20;

Calculation cal=new Calculation();

cal.display(out value1, out value2);

Console. ReadLine();

}

}

}

Visningsfunktionen anropas från huvudmetoden. Värdet1 och värdet två har 10 och 20, men de tas inte med i metoden. Värdet på a är 25 och värdet på b är också 25 i funktionen. Därför returneras dessa värden. När du skriver ut värde1 och värde2 ger det inte 10 och 20. Istället kommer det att skriva ut 25 och 25. Genom att använda nyckelordet ut kan flera värden returneras från metoden.

Vad är ref i C?

När parametrar skickas efter värde skapas en ny lagringsplats för varje parameter. De faktiska parametrarna som skickades från huvudprogrammet ändras inte. Istället kopieras dessa värden till en separat plats. Dessa nya variabelkopior kallas formella parametrar. Se koden nedan.

namnområde application1{

public class Beräkning{

public void swap(int x, int y){

int temp;

temp=x;

x=y;

y=temp;

}

public static void main(String args){

Calculation cal=new Calculation();

int p=2;

int q=3;

cal.swap(p, q);

Console. WriteLine(p);

Console. WriteLine(q);

Console. ReadLine();

}

}

}

Enligt programmet ovan har Calculation-klassen ett metodbyte (). I huvudprogrammet skapas ett objekt av typen Beräkning. Det finns två värden som p och q. Variabeln p har värde 2 och variabel q har värde 3. Dessa två värden skickas till swapmetoden. I swapmetoden kopieras värdet 2 till variabel x och värde 3 kopieras till variabel y. Med hjälp av temp-variabeln byts värdena. Tillbaka i huvudprogrammet, vid utskrift av p och q, byts inte värdena. P-värdet är fortfarande 2 och q-värdet är 3. Även i swapmetoden byts värden men återspeglas inte i huvudprogrammet.

Till skillnad från att skicka värden enligt ovan är det möjligt att skicka parametrar genom referens. En referensvariabel är en referens till minnesplatsen. Det finns ingen ny minnesplats skapas. Förändringarna i metoden återspeglas i huvudprogrammet. I C refereras referensparametrarna med hjälp av nyckelordet ref. Se programmet nedan.

namnområde application1{

public class Beräkning{

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

int temp;

temp=x;

x=y;

y=temp;

}

public static void main(String args){

Calculation cal=new Calculation();

int p=2;

int q=3;

cal.swap(ref p, ref q);

Console. WriteLine(p);

Console. WriteLine(q);

Console. ReadLine();

}

}

}

Enligt ovanstående program har klassen Calculation swapmetoden. I huvudprogrammet skapas ett objekt av typen Beräkning. Det finns två variabler som p och q. Variabeln p har värdet 2 och variabeln q har värdet 3. I stället för att skicka värden skickas referensen till minnesplatserna för p och q till metoden. Dessa referensvariabler refereras med ref. I swapmetoden görs ändringarna av de faktiska parametrarna istället för att hantera värdena till en ny plats. När du skriver ut p- och q-värdena för huvudprogrammet, kommer det att ge de utbytta värdena. Nu är p-värdet 3 och q-värdet är 2.

Vad är likheten mellan ut och ref i C?

Båda är nyckelord som används för att referera till parametrarna för en metod

Vad är skillnaden mellan ut och ref i C?

out vs ref in C

out är ett nyckelord i C som används för att referera till en utdataparameter. Den används för att skicka resultaten från en anropad metod till att anropa metoden. Ref är ett nyckelord i C som används för att referera till en referensparameter. Den används för att skicka data från anropsmetod till anropad metod och för att returnera data från den anropade metoden till anropsmetod.
Functionality
När du använder nyckelordet ut, kan data överföras från anropsmetoden till den anropade metoden. Men den informationen kasseras. Den används för att skicka resultatet till anropsmetoden från den anropade metoden. När du använder nyckelordet ref, skickas data från anropsmetoden till den anropade metoden och den manipulerade informationen skickas tillbaka till anropsmetoden.
Passering av data
När du använder nyckelordet ut skickas data på ett sätt som är en anropad metod till anropsmetoden. När du använder nyckelordet ref skickas data på två sätt, från anropsmetod till anropsmetod och från anropsmetod till anropsmetod.

Sammanfattning – ut vs ref i C

När man anropar en metod kan det vara nödvändigt att skicka in värdena till metoden och få tillbaka resultaten från metoden. C har olika parametrar för att uppnå det. Värdeparametrarna används för att överföra parametrar till metoden för värde. Referensparametrarna används för att skicka parametrar till metoden genom referens. Utdataparametrarna används för att skicka tillbaka resultatet från metoden. I C används nyckelordet out för utdataparametrar och nyckelordet ref används för att referera till parametrar. Skillnaden mellan out och ref i C är att out är ett nyckelord som används för att hänvisa en utdataparameter som används för att skicka resultat från anropad metod till anropsmetod medan ref är ett nyckelord för att hänvisa till en referensparameter som används för att skicka data från anropsmetod till anropad metod och för att ta emot data från den anropade metoden till anropsmetod.

Ladda ner PDF-filen för out vs ref i C

Du kan ladda ner PDF-versionen av den här artikeln och använda den för offlineändamål enligt citat. Ladda ner PDF-versionen här: Difference Between Out and Ref in C

Rekommenderad: