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átrix

Kapcsolódó cikkek