[Powered by Google Translate] CHRIS GERBER: A funtzio baten barruan hainbat urrats bat da
programa, handiago den helburua izan ohi da, deitu behar
behin baino gehiagotan eta beste hainbat locations from hasi
programa.
C funtzio bat sortzen denean, baldintza bat da.
bueltan balio mota zehaztu.
Kasua errazena egoera bat non deitzen da
kodea ez da, funtzioaren emaitza dagokionez.
Kasu honetan izan daiteke datuak inprimatzeko to ari gara
Erabiltzaileen Pantaila printf batera.
Kasu honetan, itzulera-balioa aldarrikatu ahal izango dugu
mota void.
Void erabiltzea, besterik gabe, kontatzen ez konpilatzailea
balioa emango du.
Dezagun zer itxura ikus-en.
>> Dezagun esan dugun say_hello izeneko funtzio bat dela
argumentu bat hartzen du.
Gainditu dugu pertsona baten izena eta agur bat bistaraziko da
pantailan.
Izena ez da * char mota izan.
Eta hori zehaztu dugu argudio gisa.
Nire aplikazioa ez inprimatu zen jakin behar edo bada
inprimatu zen.
Beraz, itzulitako balioan mota void izango da.
Funtzio hau pantaila inprimatzeko komando bat bezala
printf ("Kaixo,% s \ n
", Izena);
Agurra agertuko dira eta kontrol gainditu egingo da.
deituz kodea kopiak.
Gauza bat kontuan izan denean, itzulerako balio mota void,
ez duzu behar itzulera
funtzioaren adierazpena.
Aukeratu duzun bat sartu behar baduzu, ez sartu Itzultzen den balioa
argumentu gisa.
>> Zenbait kasutan, zentzuzkoa da itzuli
Funtzio baten balio.
Demagun ziren izeneko add_floats funtzio bat idazten dugun.
Gainditu dugu bi argumentu hartzen ditu, karroza bai,
izeneko lehen eta bigarren.
Eta esango digu zer karroza horien batura da.
Bada bi karroza egin ditugu elkarrekin ezagutzen dugu, emaitza
mugikor bat izango da.
Kontuan hartuta, mugikorren mota itzulera bat aukeratzen dugu.
Funtzio honek kalkuluak lotura bat egingo du, eta itzuli
bueltan bezalako adierazpen bat balioak
Lehenengo + bigarren;.
Behin kontrol deituz kodea itzultzean,
balioa ondorioz, orain, kode hori eskuragarri.
Balio hau gorde ahal izango ditugu, honela: karroza emaitza =
add_floats (3,14, 1,62
);
Kasu honetan emaitza du balioa 4,76.
>> Oroigarri gisa, koma mugikorreko balio imprecise dira.
Beraz, finantza-kalkulua izan da, dolar erabiliz eta
zentimo, hala nola datu zehatzak mota kontuan hartu nahi dugu
INT eta pennies kalkulua egiteko.
>> Kasu Another non balio bat itzuli nahi genuke
funtzioa denean, funtzio bat izanez gero jakin nahi dugu
arrakasta.
Izan zen, arrakasta ez bada ere, jakin nahi dugu zer mota
Errore bat gertatu da.
Demagun fitxategi bat irekitzeko diskoan zenbatzen saiatzen ari gara
karaktere kopurua.
Fitxategia ireki ezin bada, gelditzeko gai izan nahi dugu, eta
Erabiltzaileak dira arazoaren berri.
>> Gure funtzioa count_file_chars deituko diogu eta
hartu argumentu bat.
Fitxategiaren izena pasatzen dugu bat erabiliz
char * izeneko filename.
Funtzio honek zerbait begiratu dezake hau atsegin dute.
Adibide honetan, espero Aldaketa itzuli genuke
0 edo gehiago izango da.
Honek uzten digu negatiboak zenbaki osoen
Sentinel balio gisa erabiltzeko.
Sentinel balio bat besterik ez da, hori ez da balio berezi bat
legezko datuak, baina informazioa bidal du.
Hemen, -1 itzuliko dut bat deituz kodea bada, I am
benetan den errore bat gertatu da mezua bidali bitartean
fitxategia sartzeko saiatzen ari dela esan nahi du.
Itzultzen den balioa duen zehazteko, ondoren, egiaztatu izan dut nire bada
funtzio deia arrakastatsua izan zen.
Zenbakia 0 edo handiagoa bada, jakin nahi dut
fitxategia karaktere kopurua.
Hala ere, bada, zenbakia 0 baino txikiagoa izan zen, nahikoa izan nuen
inprimatu arazo bat gertatu da.
One merkataritza-off da, kontuan hartu beharreko guztiak erreserbatzea
balio negatiboak Sentinel balio gisa, hau suposatuz
32-bit osokoa, funtsean dut eraman inguruan
2 milioi ahalik eta itzulera-balioak.
>> Return balioa elementu garrantzitsuena mota bat dira
funtzio deiak.
Zorionez, ikuspegi labur hau lagundu du pentsatzen duzun
funtsezko hiru mota daude: void, emaitza balioak, eta balio Sentinel
eta hiru bakoitzean egongo den jakiteko
Zure kodea egokia.
Eskerrik asko ikusteko.