Kulcskülönbség – out vs ref in C
A C egy modern programozási nyelv, amelyet a Microsoft fejlesztett ki. Különféle asztali, webes és mobil alkalmazások fejlesztésére szolgál. A függvények vagy metódusok egy fogalom a programozásban. Az utasításoknak azt a csoportját, amelyet egy adott feladat végrehajtására használnak, függvénynek vagy metódusnak nevezzük. A C programokban a végrehajtás a main ()-től kezdődik. Ez egy példa egy módszerre. Metódus hívásakor az adatok átadódnak a metódusnak, vagy a metódustól érkeznek. Az új metódust hívó metódus a metódus meghívása. Az új módszer az úgynevezett metódus. Az átadott értékek kezelésére és az eredmény visszaszerzésére a C paramétereket használ. Értékes paraméterek, kimeneti paraméterek és referenciaparaméterek. Az értékparaméterek a paraméterek értékenkénti továbbítására szolgálnak a metódusba. A referenciaparaméterek segítségével a paramétereket referenciaként adják át a metódusnak. A kimeneti paraméterek arra szolgálnak, hogy az eredményt visszaadják a metódusból. A C-ban az out kulcsszót a kimeneti paraméterek, a ref kulcsszót pedig a paraméterek hivatkozására használják. A legfontosabb különbség az out és a ref között a C-ban az, hogy az out egy olyan kulcsszó, amely egy kimeneti paraméterre hivatkozik, amelyet arra használnak, hogy a hívott metódus eredményeit átadják a hívó metódusnak, míg a ref egy hivatkozási paraméterre utaló kulcsszó, amelyet az átadásra használnak. adatok a hívó metódustól a meghívott metódusig, és az adatok fogadása a hívott metódustól a hívó metódusig.
Mi van a C-ban?
A függvény vagy metódus szintaxisa a következő. Egy metódusnak számos eleme van, például a metódus neve, a paraméterlista, a visszatérési típus és a hozzáférési specifikáció.
(paraméterlista)
{ //végrehajtandó utasítások
}
Minden metódus rendelkezik egy egyedi módszerrel a függvényhíváshoz. A végrehajtható utasítások kapcsos zárójelek között vannak. A visszatérési típus megmagyarázza, hogy a függvény értéket ad-e vissza vagy sem. Ha nincs visszatérési típus, azt érvénytelennek nevezzük. A hozzáférés-specifikátor a metódus hozzáférhetőségének megadására szolgál az alkalmazásban. A paraméterek az adatok fogadására vagy a metódusnak történő átadására szolgálnak. Vannak paraméterek nélküli módszerek is. A paraméterek lehetnek értékes paraméterek, kimeneti paraméterek vagy referenciaparaméterek.
A kimeneti paraméterek az eredmények visszaküldésére szolgálnak a hívási metódusnak. Ehhez a paramétert az out kulcsszóval kell deklarálni. A kimeneti paraméter nem hoz létre új tárolási helyet. Általában egy metódus egy értéket ad vissza. De C-ban lehetőség van egy függvényből két értéket visszaadni kimeneti paraméterek segítségével. Tekintse meg az alábbi programot.
névtér-alkalmazás1{
nyilvános osztály számítása{
nyilvános érvénytelen megjelenítés(out in a, out in b){
int érték=5;
a=érték;
b=érték;
a=a a;
b=bb;
}
public static void main(String args){
int érték1=10, érték2=20;
Számítás cal=new Calculation();
cal.display(out value1, out value2);
Console. ReadLine();
}
}
}
A kijelző funkció a fő módszerből kerül meghívásra. Az érték1 és a kettes érték 10 és 20, de ezeket nem veszik figyelembe a metódusban. Az a értéke 25, és a b értéke is 25 a függvényben. Ezért a rendszer ezeket az értékeket adja vissza. Az érték1 és érték2 kinyomtatásakor nem ad 10-et és 20-at. Ehelyett 25-öt és 25-öt nyomtat. Az out kulcsszó használatával több érték is visszaadható a metódusból.
Mi a ref a C-ban?
A paraméterek érték szerinti átadásakor minden paraméterhez új tárolási hely jön létre. A fő programból küldött tényleges paraméterek nem változnak. Ehelyett ezeket az értékeket a rendszer egy másik helyre másolja. Ezeket az új változópéldányokat formális paramétereknek nevezzük. Lásd az alábbi kódot.
névtér-alkalmazás1{
nyilvános osztály számítása{
public void swap(int x, int y){
int temp;
temp=x;
x=y;
y=hőmérséklet;
}
public static void main(String args){
Számítás cal=new Calculation();
int p=2;
int q=3;
cal.swap(p, q);
Console. WriteLine(p);
Console. WriteLine(q);
Console. ReadLine();
}
}
}
A fenti program szerint a Calculation osztályban metóduscsere van (). A főprogramban egy Calculation típusú objektum jön létre. Két érték van, például p és q. A p változó értéke 2, a q változóé pedig 3. Ez a két érték átadásra kerül a swap metódusnak. A cseremódszerben a 2-es értéket az x változóba, a 3-as értéket pedig az y változóba másoljuk. A temp változó használatával az értékek felcserélődnek. Visszatérve a főprogramba, p és q kinyomtatásánál az értékek nem cserélődnek fel. A p érték továbbra is 2, a q értéke pedig 3. Még a swap módszerben is felcserélődnek az értékek, de nem tükröződnek a főprogramban.
A fenti értékek átadásával ellentétben lehetséges a paraméterek hivatkozással történő átadása. A referenciaváltozó a memóriahelyre való hivatkozás. Nincs új memóriahely létrehozása. A módszer változásai a főprogramban tükröződnek. A C-ban a referenciaparaméterekre ref kulcsszó hivatkozik. Tekintse meg az alábbi programot.
névtér-alkalmazás1{
nyilvános osztály számítása{
public void swap(ref int x, ref int y){
int temp;
temp=x;
x=y;
y=hőmérséklet;
}
public static void main(String args){
Számítás cal=new Calculation();
int p=2;
int q=3;
cal.swap(ref p, ref q);
Console. WriteLine(p);
Console. WriteLine(q);
Console. ReadLine();
}
}
}
A fenti program szerint a Calculation osztály swap módszerrel rendelkezik. A főprogramban egy Calculation típusú objektum jön létre. Ez két változó, például p és q. A p változó értéke 2, a q változó pedig 3. Értékek átadása helyett a p és q memóriahelyére való hivatkozás kerül átadásra a metódusnak. Ezekre a referenciaváltozókra hivatkozunk a ref. A cseremódszerben ahelyett, hogy az értékeket új helyre hoznák, a változtatások a tényleges paramétereken történnek. A főprogram p és q értékeinek kiírásakor a felcserélt értékeket adja meg. Most a p értéke 3, a q értéke pedig 2.
Mi a hasonlóság az out és a ref között a C-ban?
Mindkettő kulcsszó, amely egy metódus paramétereire utal
Mi a különbség az out és a ref között a C-ban?
out vs ref in C |
|
Az out egy kulcsszó a C-ban, amelyet egy kimeneti paraméterre használnak. Arra használják, hogy az eredményeket egy meghívott metódusról a metódus meghívására adják át. | A ref egy kulcsszó a C-ban, amely hivatkozási paraméterre hivatkozik. Adatok átadására szolgál a hívó metódusból a meghívott metódusba, és visszaadja az adatokat a hívott metódusból a hívó metódusba. |
Funkcionalitás | |
A out kulcsszó használatakor az adatok átadhatók a hívó metódusról a hívott metódusra. De ezeket az adatokat elvetik. Arra használják, hogy az eredményt a hívott metódusból a hívó metódusnak adja át. | A ref kulcsszó használatakor az adatok a hívó metódusból a hívott metódusba, a manipulált adatok pedig visszakerülnek a hívó metódusba. |
Adatok átadása | |
A out kulcsszó használatakor az adatok egy meghívott metódussal kerülnek átadásra a hívó metódusnak. | A ref kulcsszó használatakor az adatok kétféleképpen kerülnek átadásra: a hívó metódusból a meghívott metódusba és a meghívott metódusból a hívó metódusba. |
Összefoglaló – out vs ref in C
Egy metódus meghívásakor előfordulhat, hogy az értékeket át kell adni a metódusnak, és vissza kell kérni a metódus eredményeit. A C különböző paraméterekkel rendelkezik ennek eléréséhez. Az értékparaméterek a paraméterek értékenkénti továbbítására szolgálnak a metódusba. A referenciaparaméterek segítségével a paramétereket referenciaként adják át a metódusnak. A kimeneti paraméterek arra szolgálnak, hogy az eredményt visszaadják a metódusból. A C-ban az out kulcsszót a kimeneti paraméterek, a ref kulcsszót pedig a paraméterek hivatkozására használják. A különbség az out és a ref között a C-ban az, hogy az out kulcsszó egy kimeneti paraméterre utal, amelyet arra használnak, hogy az eredményeket a meghívott metódusról a hívó metódusra továbbítsák, míg a ref egy hivatkozási paraméterre utaló kulcsszó, amelyet adatok átadására használnak. metódus meghívása a meghívott metódusra és az adatok fogadása a meghívott metódusból a hívó metódusba.
Töltse le az out vs ref PDF-jét C
A cikk PDF-verzióját letöltheti, és offline célokra használhatja az idézési megjegyzés szerint. Kérjük, töltse le a PDF verziót innen: Különbség az Out és Ref között a C