[Powered by Google Translate] Funtzioak kodea programaren barruan handiago bat erabiltzen da atal
ataza jakin bat egiteko.
Prozedurak, subrutinak, eta subprograms gisa ere ezagutzen dira.
benetan programen barruan programa mini geroztik.
Nahiz eta agian ez duzu nabaritu,
gehien behin betiko funtzio dagoeneko erabiltzen dituzun C. programatu bada
Noiz stuff idazteko pantailan printf erabiliz,
benetan ari zaren printf izeneko funtzio bat erabiliz.
Era berean, GetInt eta GetString funtzioak CS50 duzula eskaintzen dira.
Programatzaile bezala erabiltzen dugu, funtzio-arrazoiak direla-zenbaki bat.
>> Ohiko zereginak burutzeko pantailan idazten bezalako funtzioak edukitzea
eta sarrera erabiltzaileari galdetu denbora aurrezten gurekin programazioa.
Ez da kodea idazteko gauza horiek egin ahal izateko beharrezkoak diren
Gurekin egin dira dagoeneko geroztik.
Ez da, nahiz eta, zehazki nola funtzio horiek barrutik lan gurekin ulertu ahal izateko beharrezkoak diren.
Horren ordez, besterik ez dugu nola erabili edo deitu gure programa ezagutzeko.
Gainera, lagungarria programa zabalago baten barruan funtzioak idazteko
nahiz eta ez zaren beste batzuk erabili behar izan plangintza
besterik ez zatitzeko esku zeregin handiagoa.
Horrela, egitura ematen duzu zure kodea askoz bezalako egitura saiakera bat eman dituzu,
eta proiektu benetan handiak hainbat pertsonak
zati ezberdinetan, aldi berean, lan
begi bistakoa da geroztik non pertsona bat lana eta ondorioz, eta beste bat hasten da.
>> Funtzioak normalean 1 edo gehiago inputak, argumentuak edo parametro gisa ezagutzen dira,
Sarrerek horiek eraldatzeko irteera balio hori gero itzuli.
Hala ere, posible erabili sarrerako argumenturik onartzen ez duten funtzioak izan
eta ez itzultzeko irteera bat.
Ados, Fluffy stuff nahikoa.
Ikus dezagun C. benetako funtzio batzuetara begirada bat
>> Hemen izeneko plaza, sinetsi edo ez funtzio bat dugu,
sarrerako plazan computes.
Dezagun dissect sintaxia.
Funtzioa ikusten duzun lehen hitza, int,
funtzioa itzulera mota zehazten du, hau da, C motako funtzioa irteera.
Funtzio hau mota int balio bat bistaratu da.
Hurrengo hitza ikusten duzun funtzioaren izena, kasu honetan karratua da.
Funtzioak izendatzea egokia da bereziki garrantzitsua da
funtzioa duenaren dokumentazioa ikusgai da ziurrenik geroztik.
Cool funtzioa shazam hau edo booyah izendatzeko,
baina horrek ez luke esan digu funtzioa duenaren buruz ezer.
>> Funtzio-izena etorri input funtzioa, argumentuak jarraituz.
Parentesi multzo baten barruan agertzen dira
bai bere mota eta funtzioa gorputz barneko horiek erabiltzeko izena.
Plaza argumentu 1, int hartzen plazan,
x izena emateko erabaki dut.
Funtzioa aitorpena edo prototipoa amaitu da.
Funtzioa gainerako inguruko kizkur giltza
adierazteko funtzio-gorputzaren hasieran eta amaieran,
funtzioa bera definizioa.
Pretty simple funtzio bat da plazan.
Bakarra lortu lerro 1, biderkatu x berak egin behar dugu geroztik.
Hitza itzulera irteera balioa zehazten eta funtzioaren amaieran abiarazle.
Karratu funtzioa erabiltzeko, input egokiak eman behar dugu
eta kapturatu irteera.
Hemen, egiten modu pare bat ikusiko duzu.
Raw int batean gainditu ahal izango dugu, 6. Bezala, edo bezalako aldagai bat pasatzeko aukera izango dugu.
Kontuan izan, aldi bakoitzean karratu deitzen diogu,
aldagai batean irteera harrapatu dugu, eta, ondoren, inprimatu.
Hala eta guztiz ere, ez dugu itzulera-balioa aldagai batean gorde eta gero inprimatzeko.
Besterik ez izan dugu bidali zuzenean printf egiten dugun bezala dugunean plaza 10,
baina hori ez dugu 10 plaza balioa bueltan sarbidea esan nahi du
beste nonbait kodea.
Dezagun beste adibide erraz bilatzeko.
>> Oraingo honetan, 2 karroza laburbildu dugu elkarrekin, beraz, zer funtzio baten itxura ikusi ahal izango dugun
denean lortu besterik ez 1 ordez 2 input.
Ikusten duzun bezala, ez da askoz ere desberdinak.
Guztiak egiten dugu 2. Argumentua, izeneko b mugikor bat gehitu,
koma baten bidez bereizteko lehen argumentua argumentu zerrenda, karroza.
Beraz, gure plaza eta batura funtzio nahiko erraz ulertzeko
Oraindik dutelako duzula math klasean ikusi aurretik funtzio baliokidea.
Orain, apur bat desberdina da, funtzio bat begiratu.
Balio bat itzuli ordez, egoera bat aldatzen da.
Hau da, albo-efektu bat izatea bezala ezagutzen da.
Programa honetan, printf_fudd_style funtzioa
itzulera mota bat ikusi ez dugun, void aurretik.
>> Void erabiltzen da funtzio bat ez du ezer esan.
Mota void aldagai ez daude,
beraz, bada zerbait itzuli printf_fudd_style bezalako funtzio bat saiatu behar baduzu,
konpilatzailea izango duzu Yell.
Printf_fudd_style Barnealdean, berriz, funtzionatzen duten, oraindik ere lan egiten ikusiko dugu,
hain zuzen ere, Rs guztiak modura Ws
funtzioaren puntu kate aldatu da, eta, ondoren, inprimatu pantailan,
Programaren egoera aldatu emaitza itzuli ordez.
Funtzio hau erabiltzea oso gure plaza eta batura funtzioak erabiliz bezalakoa da,
aldagai batean gorde emaitza ez dugu izan ezik edo gainditu off beste funtzio
emaitza ez hitz egiten da.
Beraz, konpilatu eta exekutatu dugu gure Elmer Fudd programa,
"rabbit rascally duzu!" ikusiko duzu lortzen eskubidea eraldatu
"Wabbit wascally duzu!"
>> Azkenik, 1 eztabaidatzen merezi funtzioa
Nik geroztik egin da inoiz idatzi duzun bakoitzean C programa erabiliz, nagusia.
Main askoz ere beste edozein bezalako funtzio bat da.
Handia lortu bueltan mota, izena, argumentuak zerrenda bat, eta gorputz bat.
Nagusia itzulera mota da beti int
eta int hau programaren egoera komunikatzeko erabiltzen denean bukatzen da.
>> Ez behar bezala exekutatu, edo ez hasieran amaituko errore bat delako?
Zero Itzulera run arrakasta adierazten du,
eta ez-zero balioa edozein itzuli errore bat adierazten du.
Programa mota idazten ari zaren arabera,
kodeak ezberdinak itzuli akats hainbat lagungarri izan daiteke
zure programa erabiltzen duten pertsonen beranduago.
Sare argumentu apur bat zailagoa da.
>> Argumentu zerrenda hutsik izan daitezke,
adierazi void idatziz parentesi arteko
int eta char * s array bat: edo zerrenda 2 argumentu izan ditzake.
Hauek erabiltzen dira, zure programa nahi erabili
komando-lerroan gainditu argumentuak programa deitutakoan denean.
Int argumentua da normalean izeneko argc
eta berdintasuna char * array luzera, argv gisa ezaguna da.
Argv badu programa horretan komando-lerroa gainditu argumentuak.
Laburrak beste, aldagai horiek nola erabili xehetasun gehiago buruz hitz egin dugu.
Oraingoz, sentitzen free nagusia modu bai deklaratu ahal izango dituzu.
Normalean aukeratu dut idazteko modu laburragoak, ez dute argumenturik, ahal denean.
>> Orain nola egiten diren badakiela funtzioak idazteko,
ondo Oraindik duzu zure handiagoak, konplexuagoak programak garatzeko bidean.
Nire izena Nate Hardison da. Hau CS50 da.