2.2. C функции

Както винаги, когато изучаваме подпрограми, ще разгледаме два въпроса: описанието на C функциите и привличането към тях.

2.2.1. Описание на функцията

Общ изглед на описанието на функцията:

връщане(израз, върнат от функция)

КонструкциятаTypeName_Function(List_Formal_Parameters) се наричаheader, останалата част отфункционалния блок. За да програмирате извикване на функция, е достатъчно да знаете заглавката.

В заглавкатаtypeе типът на връщането; ако не присъства, по подразбиране еint. Операторътreturnуказва израз, чиято стойност е присвоена на името на функцията; този основен или единствен резултат от функцията. Думатаvoid14може да се използва като тип; в този случай стойността не се връща чрез името на функцията, т.е. имаме аналог на подпрограма с общо предназначение; тогава, естествено,returnне е необходим.

Име_на_функцияима две значения:

върната стойност (името на функцията може да се използва в изрази).

Обърнете внимание, че използването на име на функция в нейния блок се третира като извикване на функция към себе си (рекурсивно извикване). Името на функцията трябва да бъде последвано от скоби със списък от параметри (ако този списък не е празен). Не можете да използвате име на функция в изрази като просто име на променлива. Ако според смисъла на задачата е необходимо, например, да се натрупа резултатът, тогава трябва да създадете междинна променлива и да я използвате вместо името на функцията, след което да присвоите нейната стойност на името на функцията, като използвате оператораreturn(вижте пример 2, т.2.2.4).

Ако името на функцията еmain, тогава това е основната функция, тя е първата, която получава контрол след стартиране на програмата;mainвинаги присъства в програмата и само еднаведнъж. В този урок разглеждамеmainбез параметри, въпреки че C ви позволява да пишете програми с параметри.

Списъкът с формални параметри има формата:тип1 параметър1, тип2 параметър2. typeN параметърN

Списъкът с формални параметри във всички алгоритмични езици включва променливи, които се предават от основната (или друга извикваща) функция към извиканата функция и от извиканата функция към извикващата, т.е. това са "вход" и "изход" на функцията. За формални параметри на масиви, когато описвате, не можете да посочите броя на стойностите на първия индекс.

Ако няма списък с формални параметри или вместо това се използва думатаvoid, тогава към функцията не се предават стойности.

2.2.2. Извикване на функция

Има два начина за извикване на функция:

1) като процедура с общо предназначение, т.е. можете да използвате оператораFunction_Name (List_Actual_Parameters)за извикване на функция

2) като функция, т.е. можете да използвате указателя на функцияИме_на_функция (Списък_действителни_параметри) -в изрази.

За функция от типvoidе разрешен само първият начин.

Обърнете внимание отново, чедействителните параметри трябва да съвпадат с формалните по отношение на брой, ред на изброяване и тип.