Функция в Си – это минимально исполняемый модуль программы.
Тело функции – это часть описания функции, ограниченная фигурными скобками и непосредственно размещенная вслед за заголовком функции. Тело функции может быть либо составным оператором, либо блоком. В отличие от составного оператора блок включает в себя определения объектов (переменных, массивов и т.д.).
Заголовок функции начинает собой описание функции и определяется следующей конструкцией:
тип_возвращаемого_значения имя_функции (список_формальных_параметров).
Описание функции приводится после главной функции, если используется ее прототип. Если прототип не используется, то описание функции приводится в программе перед главной функцией
Прототип функции приводится в программе до главной функции и определяется следующей конструкцией:
тип_возвращаемого_значения имя_функции (список_формальных_параметров);
Существуют два разных способа замены, “замена по-значению” и “замена-по-наименованию ”. Замену по- наименованию обозначают стрелкой (например, AàX), а замену по-значению обозначают операцией присваивания ( например, N = 9).
Передача по-наименованию реализуется присваиванием конкретного значения соответствующего формального параметра, который является локальным объектом функции.
Замена по-наименованию реализуется присваиванием формальному параметру адреса фактического объекта. В этом случае действия функции выполняются над фактическим объектом.
Формальный параметр, заменяемый по-наименованию, должен быть указателем. Этот указатель тоже принимает значение, но это значение адреса фактического объекта, т. е. функции этот фактический объект становится доступным (функция знает, где он находится и может внести в него необходимые изменения). При передаче же параметра по-значению функция знает только значение параметра, но сам объект функции недоступен.