Calling funkciók - studopediya
Funkciók visszaút referenciaként
Azokban az esetekben, amikor a függvény eredménye képviseli nemcsak egy, hanem több értéket, vissza őket a visszatérés az üzemeltető lehetetlenné válik, mivel a definíció szerint akkor vissza csak egy értéket. Továbbá a függvényfejlécben lehet rögzíteni csak egyféle eredmény. inkább mint egy pár. Az ilyen esetekben, a C ++ biztosított egy másik formája a funkciók egy olyan funkció, hogy visszatérjen referenciaként. Azok a szervezetek, ezeket a funkciókat ne használja a return vissza, mivel azt nem lehet használni, hogy visszatérjen több értéket.
Syntax fejléc funkciókat visszaút referenciaként, az alábbiak szerint:
void neve (name1 type1, type2 name2, ..., tipN imyaN, type1 name1, type2 name2, ..., tipN imyaN)
Ott void - a kulcsszó üres;
name1 type1, type2 name2, ..., tipN imyaN - típusát és nevét a bemeneti adatok;
type1 name1, type2 name2, ..., tipN imyaN - típusát és nevét a kimenő adatok.
Minden szám zárójelben képezik az opciók listáját. álló adatok összefoglaló elnevezések (érték nélkül).
Mielőtt a nevét kimenő adatok helyezzük jele (Ampersand). Ez a szimbólum egy hivatkozás a cellán van kiosztva a változó, amely ezzel a jellel ellátott, és hol kell elhelyezni az eredményt.
hívja mıveleteihez amely visszatér a linket a következő formában:
functionName (név1, NAME2 imyaN.);
Itt function_name - függvény nevét;
(Név, name2 imyaN.) - a argumentumlistában. álló nevek a bemeneti és kimeneti adatok rögzített érdekében megfelelő paraméterek listáját. Ebben a listában, a bemenő adatok - a tényleges adatok, amelyek saját értékeit.
A C ++, az összes változó venni Array fogadja el az alapértelmezett változóként itt. Ezért, mielőtt az ilyen változókat a paraméter listában jel nem lehet tenni.
Ezzel szemben a kezelőnek, hogy adja vissza az eredményt, az üzemeltető meghív egy függvényt, amely visszaadja az eredményt a link van rögzítve független szolgáltató, és nem mint egy operandust részeként egy másik üzemben.
Az üzemeltető függvényhívás, hogy olyan eredményt ad vissza a linkre argumentumlista kell ugyanannyi adatot, mint a paraméter lista (függvényfejlécben), és a megfelelő adatokat ezen listák legyen az azonos típusú.
Amikor egy funkció, amely visszaadja eredményeként a linkre által használt változók a linket (kimenő adatok), a memória cella a verem nem osztották. Befejezése után a függvény értékei a kimenő adatok bekerülnek a sejtekbe, elszigetelt a leírás, hanem az értékeket, amelyek már ott korábban. Így a már meglévő információs bennük elvész.
Példaként egy függvényt, amely visszaadja az eredményt a link függvénye lehet, hogy határozza meg a legkisebb és a legnagyobb számban a számok (N). Block - rajz és a szöveg egy ilyen függvény az alábbiakban látható.
void Minmax (úszó egy (N), úszó min, úszó max)
ha (a [i] ha (a [i]> max) max = a [i]; A cím adott jel funkció (És jel) jelölt két változó min és max, szerepét játssza a kimenet. Mivel a bemeneti változó egy tömb egy (N). 15.3.3. A helyszín jellemzői a programban Annak a ténynek köszönhetően, hogy minden program írva a programozási nyelv C ++, mindig a fő funkciója a main (), elhelyezése speciális funkciókat tartják kapcsolatban is. Két lehetséges funkcióit szállás: - Mielőtt a fő funkciója, - Miután a fő funkciója. Az első változat szerint az egész szövegét specializált funkciók találhatók, közvetlenül előtte a fő funkciója. Ebben az esetben meg kell jegyezni, hogy a speciális funkciók nevezhetjük nemcsak a fő funkciója a main (), hanem hívják egymást. Ha a program egy funkció hívást másik, ebben az esetben, a szöveg a hívott függvény elé kell helyezni a szövegben a hívót. majd hibaüzenetet nem tesz eleget ennek a szabálynak. Mivel a szöveg a hívó compiler „látja” a neve a hívott függvény, amit még nem találkozott, és ez lesz érzékelhető, mint ismeretlen a számára. Ez a szabály arra kényszeríti a programozó, hogy legyen óvatos, és megterheli. Ahhoz, hogy megszüntesse az ilyen kellemetlenséget, akkor lehetséges, hogy a második kiviteli funkciók elhelyezését. Ebben az esetben az összes szöveget a speciális funkciók találhatók, miután a fő funkciója, tetszőleges sorrendben. De a fordító „nem indokolta azt állítja,” abban az esetben helytelen kölcsönös helyzetének jellemzői, mielőtt a fő funkciója prototípusok feltöltött összes feladatot látnak el. Prototype - a függvényfejlécben végződő pontosvesszővel. Ha megfelel ennek a követelménynek, a fordító „látni” az összes ezeket a funkciókat, és nem fog a jövőben is „zavart”. Példa programok funkcióit használja. Egy adott mátrix, a (M * N), ahol M = 5 és N = 8, szükséges, hogy meghatározzuk a legkisebb és a legnagyobb eleme. A számítási algoritmus alkalmazásával funkciók nem tömbvázlata, és a beállított áramlási - diagramok egyes funkciókat. beleértve a fő funkciója egyesül az egész számítási folyamat egyetlen egységben. inmatr () // Funkció bemenet mátrixKapcsolódó cikkek