Функция - это коллективное имя для некоторой группы описаний и операторов, заключенных в фигурные скобки { } и являющихся телом функции.
раздел функций > º< описаниефункции >
{< описаниефункции >}
< описаниефункции > º[< идентификатор типа >] < идентификатор > ([< формальные параметры >])
< составной оператор >
Здесь < идентификатор типа > – тип возвращаемого значения (тип значения < идентификатор >).
< формальные параметры > º
º< идентификатор типа > < идентификатор >{, < идентификатор типа > < идентификатор >}
Имя функции имеет смысл переменной.
В качестве параметра функции необходимо описать его как указатель на некоторую функцию.
В С это описание называют прототипом. Прототип функции играет роль объявления функции. В объявлении функции сосредоточена вся необходимая транслятору информация о функции - о списке её параметров и типе возвращаемого значения. И это всё, что в момент трансляции вызова необходимо транслятору для осуществления контроля над типами.Прототип носит справочный характер.
|
|
Порядок описания функции:
1.функция должна быть описана прежде, чем она используется;
2.можно описывать функции в произвольном порядке, если описать их прототипы заранее.
Пример:
float kv (float t) // прототип функции kv //
void swap1 (float &x, float &y, float (*k)(float t))
{
float z;
z=k(x);
x=k(y);
y=z;
}
void main ()
{
…
swap1(a, b, kv)
…
}
# include “mod.h”
void main ()
{
…
swap1(a, b, kv);
…
}