Belangrijk verschil – uit vs ref in C
C is een moderne programmeertaal ontwikkeld door Microsoft. Het wordt gebruikt voor het ontwikkelen van verschillende applicaties voor desktop, web en mobiel. Functies of methoden is een concept in de programmering. Die groep instructies die wordt gebruikt om een specifieke taak uit te voeren, staat bekend als een functie of een methode. In C-programma's begint de uitvoering vanaf main (). Het is een voorbeeld van een methode. Bij het aanroepen van een methode worden gegevens aan de methode doorgegeven of van de methode ontvangen. De methode die de nieuwe methode aanroept, wordt de methode genoemd. De nieuwe methode staat bekend als de zogenaamde methode. Voor het beheren van de doorgegeven waarden en het terugkrijgen van het resultaat, gebruikt C parameters. Het zijn gewaardeerde parameters, uitgangsparameters en referentieparameters. De waardeparameters worden gebruikt om parameters op waarde in de methode door te geven. De referentieparameters worden gebruikt om parameters door te verwijzen naar de methode. De uitvoerparameters worden gebruikt om het resultaat van de methode terug te sturen. In C wordt het sleutelwoord out gebruikt voor uitvoerparameters en wordt het sleutelwoord ref gebruikt om naar parameters te verwijzen. Het belangrijkste verschil tussen out en ref in Cis dat out een sleutelwoord is dat wordt gebruikt om een uitvoerparameter door te verwijzen die wordt gebruikt om resultaten van de aangeroepen methode door te geven aan de aanroepmethode, terwijl ref een sleutelwoord is om te verwijzen naar een referentieparameter die wordt gebruikt om door te geven gegevens van aanroepende methode naar aangeroepen methode en om de gegevens te ontvangen van de aangeroepen methode tot aanroepende methode.
Wat is er in C?
De syntaxis voor functie of een methode is als volgt. Een methode heeft een aantal elementen, zoals methodenaam, parameterlijst, retourtype en toegangsspecificatie.
(parameterlijst)
{ //statements om uit te voeren
}
Elke methode heeft een unieke methode om de functie-aanroep te doen. De uitvoerbare instructies staan tussen accolades. Het retourtype legt uit of de functie een waarde retourneert of niet. Als er geen retourtype is, wordt dit void genoemd. Toegangsspecificatie wordt gebruikt om de toegankelijkheid van de methode in de toepassing te specificeren. De parameters worden gebruikt om gegevens te ontvangen of door te geven aan de methode. Er kunnen ook methoden zijn zonder parameters. Parameters kunnen gewaardeerde parameters, uitgangsparameters of referentieparameters zijn.
De uitvoerparameters worden gebruikt om resultaten terug te sturen naar de aanroepmethode. Daarvoor moet de parameter worden gedeclareerd met het sleutelwoord uit. De outputparameter maakt geen nieuwe opslaglocatie aan. Over het algemeen retourneert een methode één waarde. Maar in C is het mogelijk om twee waarden van een functie te retourneren met behulp van uitvoerparameters. Raadpleeg het onderstaande programma.
naamruimte applicatie1{
openbare klas Berekening{
public void display(out int a, out int b){
int waarde=5;
a=waarde;
b=waarde;
a=een een;
b=bb;
}
public static void main(String args){
int waarde1=10, waarde2=20;
Berekening cal=nieuwe Berekening();
cal.display(out value1, out value2);
Console. ReadLine();
}
}
}
De weergavefunctie wordt aangeroepen vanuit de hoofdmethode. De waarde1 en waarde twee hebben 10 en 20, maar worden niet meegenomen in de methode. De waarde van a is 25 en de waarde van b is ook 25 in de functie. Daarom worden die waarden geretourneerd. Bij het afdrukken van waarde1 en waarde2 geeft het geen 10 en 20. In plaats daarvan drukt het 25 en 25 af. Met het out-sleutelwoord kunnen meerdere waarden worden geretourneerd vanuit de methode.
Wat is ref in C?
Bij het doorgeven van parameters op waarde, wordt voor elke parameter een nieuwe opslaglocatie gemaakt. De feitelijke parameters die vanuit het hoofdprogramma zijn verzonden, veranderen niet. In plaats daarvan worden die waarden naar een aparte locatie gekopieerd. Die nieuwe variabele kopieën worden formele parameters genoemd. Raadpleeg de onderstaande code.
naamruimte applicatie1{
openbare klas Berekening{
public void swap(int x, int y){
int temp;
temp=x;
x=y;
y=temp;
}
public static void main(String args){
Berekening cal=nieuwe Berekening();
int p=2;
int q=3;
cal.swap(p, q);
Console. WriteLine(p);
Console. WriteLine(q);
Console. ReadLine();
}
}
}
Volgens het bovenstaande programma heeft de klasse Berekening een methode-swap (). In het hoofdprogramma wordt een object van het type Berekening gemaakt. Er zijn twee waarden zoals p en q. De variabele p heeft waarde 2 en q variabele heeft waarde 3. Die twee waarden worden doorgegeven aan de swap-methode. Bij de swap-methode wordt de waarde 2 gekopieerd naar variabele x en wordt waarde 3 gekopieerd naar variabele y. Met behulp van de variabele temp worden de waarden verwisseld. Terug in het hoofdprogramma, bij het afdrukken van p en q, worden de waarden niet verwisseld. De p-waarde is nog steeds 2 en de q-waarde is 3. Zelfs in de swap-methode worden de waarden verwisseld, maar dit wordt niet weergegeven in het hoofdprogramma.
In tegenstelling tot het doorgeven van waarden zoals hierboven, is het mogelijk om parameters door te geven als referentie. Een referentievariabele is een verwijzing naar de geheugenlocatie. Er wordt geen nieuwe geheugenlocatie aangemaakt. De wijzigingen in de methode weergegeven in de in het hoofdprogramma. In C wordt naar de referentieparameters verwezen met het sleutelwoord ref. Raadpleeg het onderstaande programma.
naamruimte applicatie1{
openbare klas Berekening{
public void swap(ref int x, ref int y){
int temp;
temp=x;
x=y;
y=temp;
}
public static void main(String args){
Berekening cal=nieuwe Berekening();
int p=2;
int q=3;
cal.swap(ref p, ref q);
Console. WriteLine(p);
Console. WriteLine(q);
Console. ReadLine();
}
}
}
Volgens het bovenstaande programma heeft de klasse Berekening de swap-methode. In het hoofdprogramma wordt een object van het type Berekening gemaakt. Het zijn twee variabelen zoals p en q. De variabele p heeft de waarde 2 en de variabele q heeft de waarde 3. In plaats van waarden door te geven, wordt de verwijzing naar de geheugenlocaties van p en q doorgegeven aan de methode. Die referentievariabelen worden verwezen met ref. Bij de swap-methode worden de waarden niet naar een nieuwe locatie gekopieerd, maar worden de wijzigingen aangebracht in de feitelijke parameters. Bij het afdrukken van de p- en q-waarden van het hoofdprogramma, geeft het de verwisselde waarden. Nu is de p-waarde 3 en de q-waarde 2.
Wat is de overeenkomst tussen out en ref in C?
Beide zijn trefwoorden die worden gebruikt om naar de parameters van een methode te verwijzen
Wat is het verschil tussen uit en ref in C?
out vs ref in C |
|
De out is een sleutelwoord in C dat wordt gebruikt om naar een uitvoerparameter te verwijzen. Het wordt gebruikt om de resultaten van een aangeroepen methode door te geven aan het aanroepen van de methode. | De ref is een sleutelwoord in C dat wordt gebruikt om naar een referentieparameter te verwijzen. Het wordt gebruikt om gegevens door te geven van de aanroepende methode naar de aangeroepen methode en om gegevens van de aangeroepen methode terug te sturen naar de aanroepende methode. |
Functionaliteit | |
Bij gebruik van het sleutelwoord out, kunnen de gegevens worden doorgegeven van de aanroepmethode naar de aangeroepen methode. Maar die gegevens worden weggegooid. Het wordt gebruikt om het resultaat door te geven aan de aanroepende methode van de aangeroepen methode. | Bij gebruik van het sleutelwoord ref, worden de gegevens doorgegeven van de aanroepende methode naar de aangeroepen methode en de gemanipuleerde gegevens worden teruggestuurd naar de aanroepende methode. |
Gegevens doorgeven | |
Bij gebruik van het sleutelwoord out, worden de gegevens op een manier doorgegeven die een aangeroepen methode is aan de aanroepende methode. | Bij gebruik van het sleutelwoord ref worden de gegevens op twee manieren doorgegeven, namelijk van aanroepende methode naar de aangeroepen methode en van aangeroepen methode naar de aanroepende methode. |
Samenvatting – uit vs ref in C
Bij het aanroepen van een methode kan het nodig zijn om de waarden door te geven aan de methode en om de resultaten van de methode terug te krijgen. C heeft verschillende parameters om dat te bereiken. De waardeparameters worden gebruikt om parameters op waarde in de methode door te geven. De referentieparameters worden gebruikt om parameters door te verwijzen naar de methode. De uitvoerparameters worden gebruikt om het resultaat van de methode terug te geven. In C wordt het sleutelwoord out gebruikt voor uitvoerparameters en wordt het sleutelwoord ref gebruikt om naar parameters te verwijzen. Het verschil tussen out en ref in C is dat out een sleutelwoord is dat wordt gebruikt om een uitvoerparameter door te verwijzen die wordt gebruikt om resultaten van de aangeroepen methode door te geven aan de aanroepmethode, terwijl ref een sleutelwoord is om te verwijzen naar een referentieparameter die wordt gebruikt om gegevens door te geven van aanroepmethode naar aangeroepen methode en om de gegevens van de aangeroepen methode naar aangeroepen methode te ontvangen.
Download de PDF van out vs ref in C
U kunt de PDF-versie van dit artikel downloaden en gebruiken voor offline doeleinden volgens de citatienota. Download de PDF-versie hier: Verschil tussen Out en Ref in C