[Powered by Google Translate] CHRIS GERBER: A funkció egy sor lépést egy
nagyobb program, amelyet általában szánt lehet nevezni
többször és több más helyszíneken
a programot.
Amikor egy C függvény, az egyik követelményeknek az
adja meg a visszatérési érték típusát.
A legegyszerűbb eset az, amikor a hívó
kódot nem érinti az eredménye a funkciót.
Ez lehet a helyzet, ha mi nyomtat a
felhasználói kijelző, mint a printf.
Ebben az esetben, akkor nyilvánítja a visszatérési értéket
lenni típusú semmis.
A void egyszerűen azt mondja a fordító, hogy nem
értéket ad vissza.
Lássuk, mi ez néz ki.
>> Tegyük fel, hogy van egy függvényt nevű say_hello hogy
vesz egy érv.
Majd adja át a személy nevét, és megjelenik egy üdvözlő
a képernyőn.
A név lesz típusú char *.
És mi határozza meg, hogy mivel az érvelést.
Az alkalmazás nem kell tudni, hogy mi volt nyomtatva vagy ha
volt nyomtatva.
Tehát a visszatérési értéke lesz típusának semmis.
Ez a funkció lehet nyomtatni a képernyőn egy ehhez hasonló paranccsal
printf ("Hello% s \ n
", Név).
Az üdvözlés jelenik meg, és ellenőrzés kerül átadásra
vissza a hívó kódot.
Egy dolog megjegyezni, hogy amikor a visszatérési érték típusa void,
akkor nem kell, hogy tartalmazza a visszatérés
nyilatkozatot a funkciót.
Ha úgy dönt, hogy egy, nem tartalmazzák a visszatérési értéket
érvként.
>> Egyes esetekben, akkor van értelme, hogy visszatérjen a
értéket egy függvény.
Tegyük fel, hogy írtak egy függvényt nevű add_floats.
Majd adja át a két érv, mind úszók,
az úgynevezett első és a második.
És azt fogja mondani, hogy mi az összege e úszók is.
Tudjuk, hogy ha mi adjunk hozzá két úszik együtt, az eredmény
lesz egy úszó.
Tekintettel arra, hogy válasszon egy visszatérési típusú úszó.
Ez a funkció elvégzi ezt a számítást, és visszatér
az értékeket egy nyilatkozatot, mint a visszatérés
1. + 2.,.
Ha a vezérlés visszakerül a hívó kódot, a
kapott érték már elérhető az adott kódot.
Mi lehet tárolja ezt az értéket így: float result =
add_floats (3,14, 1,62
),.
Eredmény ebben az esetben már tartalmazza az érték 4,76.
>> Emlékeztetőül, lebegőpontos értékek pontatlan.
Szóval, ha ez egy pénzügyi számítás segítségével dollár és
cent, akkor azt szeretné, hogy a pontos adatok típusát, mint például
int és végezze el a számítást fillérekért.
>> Egy másik eset, ahol szeretne visszatérni egy értéket egy
funkció, ha tudni akarjuk, hogy ha egy függvény
sikeres.
Ha ez nem sikerül, mi is szeretnénk tudni, hogy milyen típusú
hiba történt.
Tegyük fel, hogy próbálunk megnyitni egy fájlt a lemezen számít
karakterek számát benne.
Ha a fájl nem nyitható meg, azt akarjuk, hogy képes legyen megállni és
mondja a felhasználót a problémáról.
>> Hívjuk meg a függvényt count_file_chars és ez lesz
egyet érv.
Majd át a fájl nevét egy
char * nevű fájlneve.
Ez a funkció úgy nézhet ki, mint ez.
Ebben a példában, azt várnánk a gróf visszatért
értéke 0 vagy ennél nagyobb.
Ez meghagyja nekünk a negatív egészeket
használni sentinel értékek.
A sentinel érték egyszerűen egy speciális érték, amely nem
jogos az adatokat, de nem közvetít információt.
Itt, ha visszatérek a -1 a hívó kódot, én vagyok
ténylegesen elküldi az üzenetet, hogy hiba történt a
megpróbál hozzáférni a fájlhoz.
Tudtam akkor ellenőrizze, hogy a visszatérési érték meghatározására, ha a
függvényhívás sikeres volt.
Ha ez a szám volt a 0 vagy nagyobb, én ismerem a
karakterek száma a fájl.
Ha azonban a szám kisebb, mint a 0, I egyszerűen
nyomtatni, hogy probléma történt.
Egy kompromisszum, hogy fontolja meg, hogy a fenn valamennyi
negatív értékek sentinel értékek, feltételezve, hogy ez egy
32-bites egész, én alapvetően elvették körül
2000000000 lehetséges visszatérési értékek.
>> Visszatérési érték típusok az egyik legfontosabb eleme
függvény hívások.
Remélhetőleg ez a rövid áttekintés segített gondol
három fő típusa van: void, eredmény értékek és sentinel értékek,
és amikor mindhárom lehet
megfelelő kódot.
Köszönöm, hogy néz.