[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.