[Powered by Google Translate] CHRIS GERBER: funkcia je séria krokov, ktoré v rámci
väčší program, ktorý je obvykle určený na tzv
viackrát a od rôznych iných miestach v
program.
Pri vytváraní funkcie C, jeden z týchto požiadaviek je
určovať návratový typ hodnoty.
Najjednoduchší prípad je situácia, kedy je volajúci
Kód sa netýka výsledok funkcie.
To môže byť prípad, kedy sme tlače dáta
užívateľa displej, ako u printf.
V tomto prípade, môžeme deklarovať hodnotu vrátenie
byť typu void.
Použitie neplatné jednoducho hovorí kompilátora, že nie
hodnota bude vrátená.
Poďme sa pozrieť, ako to vyzerá.
>> Povedzme, že máme funkciu nazvanú say_hello, že
prijíma jeden argument.
Budeme odovzdať meno osoby a zobrazí pozdrav
na obrazovke.
Názov bude typu char *.
A budeme špecifikovať, že ako argument.
Moja žiadosť nemusí vedieť, čo bol vytlačený alebo ak ho
bol vytlačený.
Takže návratová hodnota bude typu void.
Táto funkcia môže tlačiť na obrazovku s príkazom ako
printf ("Hello,% s \ n
", Name);.
Pozdrav sa zobrazí a kontroly budú odovzdané
späť do volajúci kód.
Jedna vec k poznámke je, že keď návratová hodnota typu je neplatný,
nemusíte zahŕňať návratnosť
Vyhlásenie vo funkcii.
Ak sa rozhodnete do jedného, ​​že nie sú uvedené návratovú hodnotu
ako argument.
>> V niektorých prípadoch, to dáva zmysel vrátiť
hodnota z funkcie.
Povedzme, že sme písali funkciu nazvanú add_floats.
Budeme odovzdať dva argumenty, oba plaváky,
tzv prvej a druhej.
A to nám povie, čo súčet týchto plavákov je.
Vieme, že ak budeme pridať dva plaváky dohromady, výsledok
bude float.
Vzhľadom k tomu, že sme si vybrať návratový typ float.
Táto funkcia bude vykonať tento výpočet a vráti
hodnoty vo vyhlásení, ako je návrat
prvý + druhý;.
Ak je kontrola odovzdaná späť volajúci kód,
Výsledná hodnota je teraz k dispozícii k tomuto kódu.
Môžeme uložiť túto hodnotu ako tak: float výsledok =
add_floats (3,14, 1,62
);.
Výsledok je v tomto prípade by teraz obsahuje hodnotu 4,76.
>> Ako pripomenutie, plávajúce bodové hodnoty sú nepresné.
Takže pokiaľ to finančné kalkulácie, pomocou dolárov a
centov, môžeme chcieť, aby zvážila presný typ dát, ako
int a vykonať výpočet v haliere.
>> Ďalší prípad, kedy budeme chcieť vrátiť hodnotu z
Funkcia je, keď chceme vedieť, či funkcia bola
úspešný.
Ak to nebolo úspešné, môžeme tiež chcieť vedieť, aký typ
Došlo k chybe.
Povedzme, že sa snažíme otvoriť súbor na disk počítať
počet znakov v ňom.
Ak súbor nemožno otvoriť, chceme byť schopní zastaviť a
oznámiť užívateľovi o tomto probléme.
>> Zavoláme naše funkcie count_file_chars a bude
sa jeden argument.
Budeme prechádzať v názve súboru pomocou
char * filename volal.
Táto funkcia môže vyzerať nejako takto.
V tomto príklade, očakávali by sme, že počet sa vrátil k
byť 0 alebo viac.
To ponecháva nám negatívne celé čísla
použiť ako overovací hodnoty.
Sentinel hodnota je jednoducho zvláštne hodnota, ktorá nie je
legitímne dát, ale to oznámiť informáciu.
Tu, keď som sa vrátiť -1 až volajúci kód, som
skutočne odoslanie správy, že došlo k chybe pri
pokuse o prístup k súboru.
Mohol by som potom zistiť, že návratovú hodnotu určiť, či moja
Funkcia volania bolo úspešné.
Ak je číslo 0 alebo bol väčší, by viem
počet znakov v súbore.
Ak je však počet bol nižší ako 0, mohol jednoducho
vytlačiť, že problém nastal.
Jeden trade-off je, aby zvážila, že rezerváciu všetky
Negatívne hodnoty ako overovací hodnoty, za predpokladu, že sa jedná o
32-bit celé číslo, ja som v podstate vzali okolo
2000000000 možné návratové hodnoty.
>> Typy návratová hodnota sú jedným z najdôležitejších prvkov
volanie funkcie.
Dúfajme, že tento krátky prehľad vám pomohol myslieť
tri kľúčové typy: void, výsledné hodnoty a overovací hodnoty,
a keď každý z týchto troch môže byť
vhodné v kóde.
Vďaka za sledovanie.