[Powered by Google Translate] CHRIS GERBER: funkcija je niz korakov v
večji program, ki je običajno namenjen, da se imenuje
večkrat in iz različnih drugih lokacijah,
program.
Pri ustvarjanju funkcijo C, ena od zahtev je
Določite vrsto vrnjene vrednosti.
Najenostavnejši primer je stanje, v katerem pozivajo
Oznaka se ne ukvarja z rezultatom funkcije.
To bi se lahko zgodilo, ko smo se tiskanje podatke v
uporabnikov zaslon, kot pri printf.
V tem primeru lahko razglasi vrnjeno vrednost
da so nična tipa.
S praznino preprosto pove prevajalniku, da ni
vrednost se bo vrnil.
Pa poglejmo, kako izgleda.
>> Recimo, da imamo funkcijo imenovano say_hello, da
vzame en argument.
Bomo dajati ime osebe in ga bo prikazal pozdrav
na zaslonu.
Ime bo tipa char *.
In bomo določili, da argument.
Moja vloga ni treba vedeti, kaj je bila natisnjena ali če ga
je bila natisnjena.
Tako bo vrnitev vrednost praznine tipa.
Ta funkcija lahko natisnete na zaslon z ukazom, kot
printf ("Pozdravljen% s \ n
", Ime);.
Pozdravu se prikaže in nadzora, ne bo posredovana
Nazaj na klicne kode.
Ena stvar je tudi omeniti, da je, ko je vrnjena vrednost tipa void,
vam ni treba, da vključujejo tudi donosnost
Izjava v funkciji.
Če se odločite, da vključuje eno, ne vključujejo vrnjeno vrednost
kot argument.
>> V nekaterih primerih je smiselno, da se vrnete
vrednost od funkcije.
Recimo, da smo napisali funkcijo imenovano add_floats.
Bomo dajati dva argumenta, tako boje,
imenovan prvi in ​​drugi.
In to nam pove, kolikšen znesek teh splavov je.
Vemo, da če bomo dodali 2 boje skupaj, rezultat
bo drsenje.
Glede na to, da smo se odločili za vrnitev tip float.
Ta funkcija bo ta izračun, in se vrnete
vrednosti v izjavi, kot so vračanje
1. + 2.;.
Ko se nadzor prenese nazaj kliče kodo,
posledica vrednost je zdaj na voljo v tem zakoniku.
Mi lahko shranite to vrednost, kot so: float rezultat =
add_floats (3,14, 1,62
).
Rezultat v tem primeru bi se zdaj vsebuje vrednost 4,76.
>> Naj vas spomnimo, s plavajočo vejico, netočni.
Torej, če je to obračun z uporabo dolarjev in
centov, lahko razmislite natančno vrste podatkov, kot so
int in opraviti izračun v penijev.
>> Še en primer, kjer bi se želeli vrniti vrednost iz
funkcija je, ko smo želeli vedeti, če je funkcija
uspešna.
Če ne bi bilo uspešno, lahko prav tako želeli vedeti, kakšne vrste
Prišlo je do napake.
Recimo, da smo poskušali odpreti datoteko na disku za štetje
število znakov v njej.
Če datoteka ni mogoče odpreti, želimo, da bi lahko ustavili in
povedal si o težavi.
>> Poklicali bomo naše funkcije count_file_chars in bo
sprejme en argument.
Bomo prehaja v ime datoteke z uporabo
char * imenovane datoteke.
Ta funkcija bi izgledal nekako takole.
V tem primeru bi pričakujemo, da bo število vrne
biti 0 ali več.
To daje nam negativnih števil v
uporablja kot kontrolne vrednosti.
Sentinel vrednost je le posebna vrednota, ki je ni
legitimna, vendar pa podatki posredujejo informacije.
Tukaj, če se vrnem -1 za klicno kodo, sem
dejansko pošilja sporočilo, da je prišlo do napake
poskuša dostopati do datoteke.
Lahko pa preverite, ali vrnjeno vrednost ugotoviti, če moj
klic funkcije je bil uspešen.
Če je bila številka 0 ali več, bi vedel, da
število znakov v datoteki.
Če pa je bilo število manjše od 0, bi lahko preprosto
natisniti, da je prišlo do težave.
En kompromis, ki menijo, da s pridržanjem vse
negativne vrednosti v kontrolnih vrednosti, ob predpostavki, da je to
32-bitno celo, da sem v bistvu odpeljali okoli
2000000000 morebitne vrnjene vrednosti.
>> Vrste vrednosti vrnitvi so eden od najpomembnejših elementov
Funkcija klice.
Upajmo, da ta kratek pregled pomagal menite o
Tri ključne vrste: neveljaven, Rezultati vrednote in kontrolne vrednosti,
in ko vsi trije bi lahko
primerno kodo.
Hvala za ogled.