В общем виде функция выглядит следующим образом:
возвр-тип имя-функции(список параметров)
{
тело функции
}
возвр-тип определяет тип данного, возвращаемого функцией[1]. Функция может возвращать любой тип данных, за исключением массивов список параметров — это список, элементы которого отделяются друг от друга запятыми. Каждый такой элемент состоит из имени переменной и ее типа данных. При вызове функции параметры принимают значения аргументов. Функция может быть и без параметров, тогда их список будет пустым. Такой пустой список можно указать в явном виде, поместив для этого внутри скобок ключевое слово void.
В объявлениях (декларациях) переменных можно объявить (декларировать) несколько переменных одного и того же типа, используя для этого список одних только имен, элементы которого отделены друг от друга запятыми. А все параметры функций, наоборот, должны объявляться отдельно, причем для каждого из них надо указывать и тип, и имя. То есть в общем виде список объявлений параметров должен выглядеть следующим образом:
f(тип имя_переменной1, тип имя_переменной2,..., тип имя_переменнойN)
Вот, например, два объявления параметров функций, первое из которых правильное, а второе — нет:
f(int i, int k, int j) /* правильное */
f(int i, k, float j) /* неправильное, у переменной k должен быть
собственный спецификатор типа */
[1]Данное, возвращаемое функцией, называется также результатом. Соответственно, возвращаемый тип часто называется также типом результата.