[Powered by Google Translate] Funkcijas ir sadaļas koda izmantotās plašākas programmas veikt konkrētu uzdevumu. Tās ir arī pazīstams kā procedūrām, subroutines un apakšprogrammās, jo tie tiešām ir tikai mini programmas ietvaros programmām. Pat ja jūs varētu būt pamanījuši, Jūs visvairāk noteikti ir izmantots funkciju jau ja esat ieprogrammēts C. Kad jūs rakstīt stuff uz ekrāna, izmantojot printf, jūs faktiski izmantojot funkciju sauc printf. Tāpat GetInt un GetString ir funkcijas, kas CS50 sniedz jums. Kā programmētāji, mēs izmantojam funkcijas vairāku iemeslu dēļ. Ņemot funkcijas veikt kopīgus uzdevumus, piemēram, rakstot uz ekrāna un pamudinot lietotājam sniegt ieguldījumu ietaupa mums laiku, kad programmēšana. Tas nav nepieciešams rakstīt kodu, lai darīt tās pašas lietas jo viņi jau ir izdarīts mums. Tas nav pat nepieciešams, lai mēs saprastu, kā tieši šie funkcijas darbojas iekšēji. Tā vietā, mēs vienkārši ir jāzina, kā izmantot vai zvanīt tos mūsu programmās. Tā ir arī noderīga, lai rakstītu funkcijas lielākām programmām pat ja jūs neesat plānošanu, kam citi tos izmantot, vienkārši sadalīt lielāku uzdevumu pie rokas. Tādā veidā, jūs piešķirtu struktūru jūsu kodu daudz, piemēram, jūs gribētu dot struktūru eseju, un ar patiešām lieliem projektiem aktivizēsiet vairākus cilvēkus strādāt uz dažādām daļām, tajā pašā laikā jo tas ir skaidrs, kur viena cilvēka darbs beidzas un otrs ir sākas. Funkcijas parasti darbojas uz 1 vai vairākus signālus, kas pazīstama kā argumentus vai parametriem, pārveidojot šos ievadīšanu izejas vērtību, kas pēc tam tiek atgriezta. Tomēr tas ir arī iespējams ir funkcijas, kas neizmanto nekādas ieejas argumentus un neatgriežas izejas. Labi, pietiek ar pūkainu sīkumi. Pieņemsim to apskatīt dažas reālās funkcijas C. Šeit mums ir funkciju sauc kvadrātveida ka, ticiet vai ne, aprēķina kvadrāta ieejas. Pieņemsim preparēt sintaksi tā. Pirmais vārds redzat funkciju, int, precizē atgriešanās veidu funkcijas, tas ir, C veida funkcija izlaidē. Šī funkcija būs izejas vērtību ar int. Nākamais vārds redzat ir nosaukums funkcijas, kvadrātveida šajā gadījumā. Nosaucot funkcijas pienācīgi ir īpaši svarīga jo tas ir iespējams, visvairāk redzams dokumentācija par to, ko funkcija dara. Tas varētu būt forši nosaukt šo funkciju Shazam vai booyah, bet tas nav pateikt mums kaut ko par to, ko funkcija dara. Pēc funkcijas nosaukums nāk izejvielas uz funkciju, minētie argumenti. Tie ir uzskaitīti iekšā kopu iekavām gan ar savu tipu un nosaukumu izmantot tiem, kas organismā funkciju. Kvadrātveida aizņem tikai 1 argumentu, int uz laukuma, ko es esmu nolēmis dot vārdu x. Tas beidzas funkcijas deklarāciju vai modeļa. Cirtaini bikšturi ap pārējo funkciju apzīmē sākumu un funkciju organismā beigas, definīcija funkcijas pati. Laukums ir diezgan vienkārša funkcija. Tas ir tikai got 1 līnija, jo viss, kas mums ir jādara, ir reizināt x ar sevi. Vārds atgriešanās precizē produkcijas vērtību un izraisa galu funkcijas. Lai izmantotu kvadrātveida funkciju, mums piegādāt atbilstošus ieguldījumus un tad sagūstīt produkciju. Šeit jūs redzēt pāris veidus, kā darīt to. Mēs varam iet ar neapstrādātu int, piemēram, 6, vai mēs varam iet uz mainīgo kā. Ņemiet vērā, ka katru reizi, kad mēs saucam kvadrāts, mēs uztveršanas produkciju mainīgo un pēc tam izdrukāt to. Tomēr, mums nav, lai saglabātu atgriešanās vērtību mainīgā un pēc tam izdrukāt. Mēs varētu vienkārši nosūtīt to tieši uz printf kā mēs, kad mēs laukums 10, bet tas nozīmē, ka mums nav pieejami atgriešanās vērtība nepārsniedz 10 kvadrātmetru citur kodu. Apskatīsim citu vienkāršu piemēru. Šoreiz mēs Apkopojot 2 pludiņus kopā, lai mēs varētu redzēt, ko funkcija izskatās kad tas ieguva 2 ieejas nevis tikai 1. Kā jūs varat redzēt, tas nav daudz atšķiras. Viss, kas mums jādara, ir pievienot gada 2 argumentu, peldēt nosaukts b, uz argumentu sarakstā izmantojot komatu, lai atdalītu to no pirmo argumentu, peldēt. Tātad, mūsu laukumā un summa funkcijas ir diezgan viegli saprast jo viņi līdzvērtīgu funkciju, ka jūs esat redzējis matemātikas klasē. Tagad, pieņemsim apskatīt funkciju, kas ir nedaudz atšķirīgs. Tai vietā, lai vērtību, tā izmaina stāvokli. Tas ir pazīstams kā ar blakus efektu. Šajā programmā, printf_fudd_style funkcija ir atgriešanās veidu, ka mēs neesam redzējuši pirms, anulēts. Neesošu tiek izmantots, lai teikt, ka funkcija neatgriežas neko. Nav neviena tipa tukšumā mainīgie, tādēļ, ja jūs mēģināt atgriezties kaut ko no funkcijas, piemēram printf_fudd_style, kompilators kliegt pie jums. Iekšā printf_fudd_style, mēs redzam, ka, kamēr funkcija joprojām veic uzdevumu, proti, pārejot visiem RS ar Ws, no funkcijas uzdevums ir mainīt stīgu un tam to izdrukāt uz ekrāna, mainot stāvokli programmu, nevis atgriežas rezultātu. Izmantojot šo funkciju, ir ļoti daudz, piemēram, izmantojot mūsu laukumu un summa funkcijas, izņemot mums nav saglabāt rezultātu mainīgo vai nodot to off uz citu funkciju jo nav rezultāts runāt. Tātad, kad mēs apkopot un palaist mūsu Elmer Fudd programmu, Jūs redzat, ka "Tu rascally trusis!" izpaužas pārveidots tiesības "Tu wascally wabbit!" Visbeidzot, tur ir 1 funkcija vērts apspriest jo jūs esat, izmantojot to katru C programmu esat kādreiz rakstīts, galvenais. Galvenais ir funkcija daudz tāpat kā jebkurš cits. Tas ir ieguvuši atgriešanās veidu, nosaukumu, ar argumentu sarakstu un iestādi. Atgriešanās veids galvenais ir vienmēr int, un tas int izmanto, lai sazinātos statusu programma, kad tā beidzas. Vai tas darbojas sekmīgi, vai tomēr tas galu agri kļūdas dēļ? Atgriežoties pie nulles norāda veiksmīgu palaist, un atgriežoties jebkuru nenulles vērtība norāda kļūda. Atkarībā no veida programmu jūs rakstāt, atgriežoties dažādus kodus dažādām kļūdām var būt noderīgi cilvēkiem, kuri izmanto savu programmu vēlāk. Galvenajos argumenti ir nedaudz sarežģītāk. Arguments sarakstā var būt vai nu tukšas, ko mēs norāda, rakstot tukšumu starp iekavās, vai sarakstā var būt 2 argumenti: starptautiskie un char * s masīvs. Tie tiek izmantoti, kad jūsu programma plāno izmantot argumenti pieņemts uz komandrindas, kad programma tiek izmantota. Int arguments parasti sauc argc, un tas ir vienāds garums char * masīvs, kas pazīstams kā argv. Argv satur komandrindas argumentus nodoti programmā. Citā sakot, mēs runājam par to, kā izmantot šos mainīgos sīkāk. Tagad, jūs varat justies brīvi, lai paziņot galvenais nu veidā. Es parasti izvēlas rakstīt to ārā pa īsāku ceļu, bez argumentiem, kad iespējams. Tagad, ka jūs zināt, kā rakstīt funkcijas, Jūs esat labi pa ceļam uz jaunattīstības lielāku, sarežģītākas programmas. Mans vārds ir Nate Hardison. Tas ir CS50.