Определение функции задает имя функции, типы и число ожидаемых параметров, а также тип, возвращаемый функцией. Определение функции также содержит тело функции с объявлениями ее локальных переменных и операторы, которые определяют действия, выполняемые функцией.
Объявление функций: прототипы функций
1 |
|
где,
returnDataType
— возвращаемый тип данныхfunctionName
— имя функцииdataType
— тип данныхargName1...N
— имена параметров функции (количество параметров неограниченно)
Смотрим пример объявления функции:
1 2 3 |
|
В языках C и C++, функции должны быть объявлены до момента их вызова. Вы можете объявить функцию, при этом функция может возвращать значение или — нет, имя функции присваивает программист, типы данных параметров указываются в соответствии с передаваемыми в функцию значениями. Имена аргументов, при объявления прототипов являются необязательными:
1 |
|
Иногда, объявление функции называют определением функции, хотя это не одно и то же.
Определение функций
1 2 3 4 |
|
Рассмотрим определение функции на примере функции sum
.
1 2 3 4 5 |
|
В языках C и C++, функции не должны быть определены до момента их использования, но они должны быть ранее объявлены. Но даже после всего этого, в конце концов, эта функция должна быть определена. После этого прототип функции и ее определение связываются, и эта функция может быть использована.
Если функция ранее была объявлена, она должна быть определена с тем же возвращаемым значением и типами данных, в противном случае, будет создана новая, перегруженная функция. Заметьте, что имена параметров функции не должны быть одинаковыми.
1 2 3 4 5 6 7 8 |
|
Вызов функций
После того, как функция была объявлена и определена, её можно использовать, для этого её нужно вызвать. Вызов функции выполняется следующим образом:
1 |
|
где,
funcName
— имя функции;arg1..2
— аргументы функции (значения или переменные)
Примечание: функции могут не иметь параметров, тогда в круглых скобочках ничего писать не надо. Смотрим пример:
1 2 |
|
Вызов функции выполняется записью её имени, а затем круглых скобочек ()
. Если функция принимает аргументы, то в круглых скобках передаются аргументы, в порядке, указанном в объявлении функции.