[Powered by Google Translate] Функције су делови кода се користе у оквиру ширег програма
да изврши одређени задатак.
Они су такође познати као процедуре, потпрограме и потпрогра,
јер су заиста само мали програми у оквиру програма.
Иако можда нисте приметили,
свакако сте користили функције већ ако сте програмирали у Ц
Када пишете ствари на екрану помоћу иф,
сте заправо користите функцију зове инт.
Исто тако, ГетИнт и ГетСтринг су функције које обезбеђује ЦС50 за вас.
Као програмера, ми користимо функције за неколико разлога.
>> Имајући функције обављају уобичајене задатке као што пише на екрану
и навело корисника за унос нам штеди време када програмирања.
Није потребно да пишете код да те исте ствари
јер они су већ урадили за нас.
То чак није ни потребно да разумемо како тачно те функције раде интерно.
Уместо тога, ми само треба да знате како да користите или да их позивате у нашим програмима.
Такође је корисно да пишем функције у већим програмима
чак и ако не планирате да их други користе,
само да поделе већи задатак при руци.
На овај начин, можете дати структуру кода налик ћеш дати структуру есеју,
и стварно великих пројеката активирате више људи
да раде на различитим деловима у исто време
јер је јасно где једна особа рад завршава, а други је почиње.
>> Функције обично раде на 1 или више улаза, познатих као аргументи или параметрима,
претварајући те инпуте у излазном вредности која се затим вратио.
Међутим, такође је могуће да имају функције које не користе никакве аргументе за унос
и не врати излаз.
Ок, доста са паперјаст ствари.
Хајде да погледамо неке реалне функције у Ц.
>> Овде имамо функцију која се зове Трг који, веровали или не,
израчунава квадрат улаза.
Хајде да сецира синтаксу њега.
Прва реч коју видите у функцији, инт,
прецизира повратни тип функције, што значи да је Ц тип излаза функцији је.
Ова функција ће избацити вредност са типа инт.
Следећа реч коју видите је име функције, квадрат у овом случају.
Именовање функције на одговарајући начин посебно је важно
јер је вероватно највидљивији документација о томе шта је функција ради.
Било би кул да именујете ову функцију Схазам или Бооиах,
али то не би нам ништа рећи о томе шта је функција ради.
>> Након име функције долазе улазе у функцији, аргументи.
Они су наведени у скупу заграда
и са њиховом типу и име коришћења за њих у телу функције.
Трг траје само 1 аргумент, Инт на тргу,
који сам одлучио да дам к име.
Овај завршава функцију изјаву или прототипа.
Витичасте заграде окружују остатак функције
означавају почетак и крај тела функције,
дефиниција самог функције.
Трг је прилично једноставна функција.
То је добио само 1 линију, јер сви морамо да урадимо је да помножите к по себи.
Реч повратак наводи излазне вредности и изазива крај функције.
Да бисте користили функцију квадратни, морамо да доставимо одговарајуће инпуте
и онда ухвати излаз.
Овде можете видети неколико начина да ради.
Можемо проћи у сировом инт, као и 6, или можемо проћи у променљивој као.
Имајте на уму да сваки пут кад зовем квадрат,
смо ухватили излаз у променљивој, а затим одштампате га.
Међутим, ми не треба да складиштите повратну вредност у променљиву, а затим штампа.
Ми смо само могли да шаљете директно иф што радимо када трг 10,
али то не значи да ми немамо приступ враћене вредности квадрата 10
другде у коду.
Хајде да погледамо другу једноставан пример.
>> Овај пут ћемо сумирати 2 Флоатс заједно, тако да можемо да видимо шта функција изгледа
када је добио 2 улаза уместо само 1.
Као што можете видети, то није много другачије.
Све што урадите је да додате у 2. аргументу, пливајући под називом б
на листи аргумената помоћу зарез да га одвоји од првог аргумента, плутају.
Дакле, наш квадрат и СУМ функције су прилично лако разумети
зато што су еквивалентна функција које сте видели раније у цасу математике.
Сада, хајде да погледамо на функцији која је мало другачија.
Уместо да се врати неку вредност, она мења стање.
Ово је познато као да је пропратни ефекат.
У овом програму, принтф_фудд_стиле функција
има повратни тип који нисмо видели, празнина.
>> Празнина се користи да каже да функција не врати ништа.
Не постоје променљиве типа празнини,
па ако покушате да се врати нешто од функције као принтф_фудд_стиле,
компајлер ће викати на тебе.
Унутра принтф_фудд_стиле, видимо да, иако и даље обавља функцију задатак,
наиме, пребацивање свих РС ВС,
тачка функције је да модификујете ниску, а затим одштампате га на екрану,
мења стање програма уместо враћања резултат.
Користећи ову функцију је веома налик користећи наш квадрат збира функције,
осим што не складишти резултат у променљивој или да га искључите на другу функцију
јер не постоји резултат који говори.
Дакле, када смо компајлирати и покренути наш Елмер Давеж програм,
видиш да "Ти раскалашно зец!" добија право да трансформише
"Ти васцалли Ваббит!"
>> Коначно, ту је још 1 функција вредело разговарати
пошто сте га користите у сваком Ц програму сте икада написан, главни.
Главни је функција много као и свака друга.
Има повратни тип, назив, листу аргумената, а тело.
Повратак тип маин увек инт
и то инт се користи за комуникацију статус програма када се заврши.
>> Да ли је успешно води, или је рано завршили због грешке?
Враћање на нулу указује на успешну серију,
и враћање било не-нула вредности указује на грешку.
У зависности од врсте програма који пишете,
враћају различите шифре за различите грешке могу бити од помоћи
за људе који користе свој програм касније.
Маинс аргументи су мало компликованије.
>> Аргумент листа може да буде празно,
које указују писањем празнину између заградама,
или листа може имати 2 аргумента: инт и низ цхар * с.
Они се користе када ваш програм намерава да користи
аргументи донет на командној линији када програм позивају.
Инт аргумент је обично назива аргц,
и то је једнака дужина цхар * низ, познатији као аргв.
Аргв садржи аргументе командне линије прешао у програму.
У другом Укратко, ми ћемо разговарати о томе како да користите ове променљиве у више детаља.
За сада, можете слободно да се изјасне главни било начин.
Ја обично изаберу да га напишем на краћи пут, без аргумената, када је то могуће.
>> Сада када знате како да напишете функције,
Ви добро сте на путу развијања веће, сложеније програме.
Моје име је Нејт Хардисон. Ово је ЦС50.