Процесс присвоения функции некоторого идентификатора.
Объявление функции (также объявление процедуры) — это процесс присвоения функции некоторого идентификатора (а также, обычно, списка параметров и возвращаемого значения); также участок кода для этой цели.
Объявление функции в языке Pascal
Когда объявляется функция
В Pascal функции (и процедуры) надо предварительно обязательно объявлять внутри модулей (units) и в том случае, когда функция или процедура является методом объекта. Объявление функций в основном файле (program) обычно производится уже при описании кода функции, однако возможно и предварительное объявление при помощи ключевого слова forward.
Синтаксис объявления функции и процедуры
Сначала следует ключевое слово PROCEDURE (если нет возвращаемого значения) или FUNCTION (если есть возвращаемое значение). После него идёт идентификатор — название процедуры или функции. (Если производится объявление при написании кода метода, то сначала пишется имя объекта/класса, а затем, через точку — название метода). Далее идёт список параметров в скобках (), причём сначала идёт название передаваемого параметра, а затем, после точки с запятой, тип параметра. Если надо передать несколько параметров одного типа, они отделяются запятой «,»; если необходимо объявить несколько параметров разных типов — они отделяются точкой с запятой «;». При обявлении функции с передаваемым значением после этого ставится двоеточие и пишется тип этого значения. Завершается объявление точкой с запятой. После этого могут следовать ключевые слова относительно этой функции (forward, overwvire и т. д.).
{процедура (без возвращаемого значения)}
PROCEDURE [Идентификатор.]Идентификатор (
Идентификатор[, Идентификатор, …, Идентификатор]: Тип;
Идентификатор[, Идентификатор, …, Идентификатор]: Тип;
…
Идентификатор[, Идентификатор, …, Идентификатор]: Тип
); [КлючевоеСлово; КлючевоеСлово; … КлючевоеСлово;]
{функция (с возвращаемым значением)}
FUNCTION [Идентификатор.]Идентификатор (
Идентификатор[, Идентификатор, …, Идентификатор]: Тип;
Идентификатор[, Идентификатор, …, Идентификатор]: Тип;
…
Идентификатор[, Идентификатор, …, Идентификатор]: Тип
): Тип; [КлючевоеСлово; КлючевоеСлово; … КлючевоеСлово;]
{процедура без передаваемых параметоров}
PROCEDURE [Идентификатор.]Идентификатор; [КлючевоеСлово; … КлючевоеСлово;]
PROCEDURE [Идентификатор.]Идентификатор(); [КлючевоеСлово; … КлючевоеСлово;]
{не все компиляторы воспринимают второй вариант корректно}
{функция без передаваемых параметоров}
FUNCTION [Идентификатор.]Идентификатор: Тип; [КлючевоеСлово; … КлючевоеСлово;]
FUNCTION [Идентификатор.]Идентификатор(): Тип; [КлючевоеСлово; … КлючевоеСлово;]
{не все компиляторы воспринимают второй вариант корректно}
Пример:
function TCanvas.TextHeight(const Text: string): Integer;
Объявление функции в языке C
Когда объявляется функция
Функция
Синтаксис объявления функции
<класс памяти> <тип возвращаемого значения> <имя функции> (<типы формальных параметров функции>);
Пример:
static void show(int, int);