Nøkkelforskjell – ut vs ref i C
C er et moderne programmeringsspråk utviklet av Microsoft. Den brukes til å utvikle ulike applikasjoner for desktop, web og mobil. Funksjoner eller metoder er et konsept innen programmering. Den gruppen av utsagn som brukes til å utføre en spesifikk oppgave er kjent som en funksjon eller en metode. I C-programmer begynner kjøringen fra main (). Det er et eksempel på en metode. Når du kaller en metode, sendes data til metoden eller mottas fra metoden. Metoden som kaller den nye metoden er kjent som å kalle metoden. Den nye metoden er kjent som den k alte metoden. For å administrere beståtte verdier og få tilbake resultatet, bruker C parametere. De er verdsatte parametere, utgangsparametere og referanseparametere. Verdiparameterne brukes for å overføre parametere til metoden etter verdi. Referanseparametrene brukes til å overføre parametere til metoden ved referanse. Utgangsparametrene brukes til å sende resultatet tilbake fra metoden. I C brukes ut nøkkelord for utdataparametere og ref nøkkelord brukes til å referere til parametere. Nøkkelforskjellen mellom ut og ref i C er at ut er et nøkkelord som brukes til å referere en utdataparameter som brukes til å sende resultater fra den k alte metoden til anropsmetoden, mens ref er et nøkkelord for å referere en referanseparameter som brukes til å sende data fra oppkallingsmetode til oppringt metode og for å motta data fra oppringt metode til oppringingsmetode.
Hva er ute i C?
Syntaksen for funksjon eller en metode er som følger. En metode har en rekke elementer som metodenavn, parameterliste, returtype og tilgangsspesifikasjoner.
(parameterliste)
{ //utsagn som skal utføres
}
Hver metode har en unik metode for å lage funksjonskallet. De kjørbare setningene er innenfor krøllete klammeparenteser. Returtypen forklarer om funksjonen returnerer en verdi eller ikke. Når det ikke er noen returtype, kalles det void. Tilgangsspesifikasjoner brukes til å spesifisere metodetilgjengelighet i applikasjonen. Parametrene brukes til å motta eller sende data til metoden. Det kan også være metoder uten parametere. Parametre kan være verdsatte parametere, utgangsparametere eller referanseparametere.
Utdataparameterne brukes til å sende resultater tilbake til anropsmetoden. For det bør parameteren deklareres med nøkkelordet ut. Utgangsparameteren oppretter ikke en ny lagringsplass. Vanligvis returnerer en metode én verdi. Men i C er det mulig å returnere to verdier fra en funksjon ved å bruke utdataparametere. Se programmet nedenfor.
namespace application1{
offentlig klasseberegning{
public void display(out int a, out int b){
int value=5;
a=verdi;
b=verdi;
a=a a;
b=bb;
}
public static void main(String args){
int verdi1=10, verdi2=20;
Calculation cal=new Calculation();
cal.display(out value1, out value2);
Console. ReadLine();
}
}
}
Visningsfunksjonen kalles opp fra hovedmetoden. Verdi1 og verdi to har 10 og 20, men de er ikke tatt inn i metoden. Verdien av a er 25 og verdien av b er også 25 i funksjonen. Derfor returneres disse verdiene. Når du skriver ut verdi1 og verdi2, vil den ikke gi 10 og 20. I stedet vil den skrive ut 25 og 25. Ved å bruke ut nøkkelordet kan flere verdier returneres fra metoden.
Hva er ref i C?
Når parametere sendes etter verdi, opprettes en ny lagringsplass for hver parameter. De faktiske parameterne som ble sendt fra hovedprogrammet endres ikke. I stedet blir disse verdiene kopiert til et eget sted. Disse nye variabelkopiene kalles formelle parametere. Se koden nedenfor.
namespace application1{
offentlig klasseberegning{
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();
}
}
}
I følge programmet ovenfor har Calculation-klassen en metodebytte (). I hovedprogrammet opprettes et objekt av typen Beregning. Det er to verdier som p og q. Variabelen p har verdi 2 og q-variabel har verdi 3. Disse to verdiene sendes til swapmetoden. I byttemetoden kopieres verdien 2 til variabel x og verdi 3 kopieres til variabel y. Ved å bruke temp-variabelen byttes verdiene. Tilbake i hovedprogrammet, ved utskrift av p og q, byttes ikke verdiene. P-verdien er fortsatt 2 og q-verdi er 3. Selv i byttemetoden byttes verdier, men reflekteres ikke i hovedprogrammet.
I motsetning til å sende verdier som ovenfor, er det mulig å sende parametere ved referanse. En referansevariabel er en referanse til minneplasseringen. Det er ingen ny minneplassering som er opprettet. Endringene i metoden gjenspeiles i hovedprogrammet. I C refereres referanseparametrene ved hjelp av ref nøkkelord. Se programmet nedenfor.
namespace application1{
offentlig klasseberegning{
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();
}
}
}
I følge programmet ovenfor har klassen Beregning byttemetoden. I hovedprogrammet opprettes et objekt av typen Beregning. Det er to variabler som p og q. P-variabelen har verdien 2 og q-variabelen har verdien 3. I stedet for å sende verdier, sendes referansen til minneplasseringene til p og q til metoden. Disse referansevariablene refereres ved hjelp av ref. I byttemetoden, i stedet for å håndtere verdiene til et nytt sted, gjøres endringene i de faktiske parameterne. Når du skriver ut p- og q-verdiene til hovedprogrammet, vil det gi de byttede verdiene. Nå er p-verdien 3 og q-verdien er 2.
Hva er likheten mellom ut og ref i C?
Begge er nøkkelord som brukes for å referere til parametrene til en metode
Hva er forskjellen mellom ut og ref i C?
out vs ref in C |
|
Out er et nøkkelord i C som brukes til å referere til en utdataparameter. Den brukes til å overføre resultatene fra en k alt metode til å kalle metoden. | Ref er et nøkkelord i C som brukes til å referere til en referanseparameter. Den brukes til å sende data fra anropsmetode til anropt metode og for å returnere data fra den anropte metoden til anropsmetode. |
Functionality | |
Når du bruker nøkkelordet ut, kan dataene overføres fra anropsmetoden til den anropte metoden. Men de dataene blir forkastet. Den brukes til å sende resultatet til kallemetoden fra k alt metode. | Når du bruker nøkkelordet ref, overføres dataene fra oppkallingsmetoden til den oppringte metoden, og de manipulerte dataene sendes tilbake til oppkallingsmetoden. |
Passering av data | |
Når du bruker nøkkelordet ut, sendes dataene på én måte som er en k alt metode til kallemetoden. | Når du bruker nøkkelordet ref, sendes dataene på to måter, nemlig fra kallemetode til kallemetode og fra k alt metode til kallemetode. |
Summary – out vs ref in C
Når du bruker en metode, kan det være nødvendig å sende verdiene inn i metoden og få tilbake resultatene fra metoden. C har forskjellige parametere for å oppnå det. Verdiparameterne brukes for å overføre parametere til metoden etter verdi. Referanseparametrene brukes til å overføre parametere til metoden ved referanse. Utgangsparametrene brukes til å sende resultatet tilbake fra metoden. I C brukes ut nøkkelord for utdataparametere og ref nøkkelord brukes til å referere til parametere. Forskjellen mellom ut og ref i C er at ut er et nøkkelord som brukes til å referere en utdataparameter som brukes til å sende resultater fra k alt metode til kallemetode, mens ref er et nøkkelord for å referere en referanseparameter som brukes til å sende data fra anropsmetode til k alt metode og for å motta data fra den k alte metoden til anropsmetode.
Last ned PDF-en av out vs ref i C
Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til offline-formål i henhold til sitat. Last ned PDF-versjonen her: Difference Between Out and Ref in C