Понятие функции

2.1. Определение функции

В любом языке программирования алгоритм решения подзадачи можно описать в виде отдельной подпрограммы. В языке С++ каждая подпрограмма называется функцией – это конструкция языка программирования, связанная с решением конкретной части поставленной задачи.Функция – это самостоятельная единица программы. В языке С++ функции разделяются на библиотечные (описаны в головных файлах stdio.h, math.h, dos.h, string.h и др.) и пользовательские (разработаны самим программистом). В языке С++ всегда есть хотя бы одна функция – главная функция main().

Определение функции состоит из описания заголовка и тела функции. После заголовка функции точка с запятой не ставится. Общий вид функции:


<тип_возвращаемого_результата><имя_функции>(<список_формальных_параметров>)

{

<тело_функции>

}

<тип_возвращаемого_результата> – тип результата работы функции, может быть целочисленным, вещественным, символьным или указателем на любой допустимый тип. Результат работы функции возвращается с помощью оператора return и записывается сразу после этого оператора в виде переменной или выражения, допустимого в языке С++. Если результат возвращается с помощью выражения, то это выражение записывается после оператора return в круглых скобках. Если в заголовке функции тип возвращаемого результата не указан, то по умолчанию это тип int. Функцию, которая возвращает результат с помощью оператора return, можно использовать в выражениях. Если функция не возвращает никакого результата (например, с помощью функции производится вывод на печать элементов массива), то типом возвращаемого результата будет тип void и в теле функции не должен присутствовать оператор return. В описании метода последовательной детализации результат работы функции называется выходным параметром.

<имя_функции> – идентификатор (применительно к методу последовательной детализации – это уникальное имя некоторого вспомогательного алгоритма), при помощи которого функцию можно вызвать для выполнения. Надо стараться задавать такие имена пользовательским функциям, которые не совпадали бы с ключевыми словами языка С++.

<список_формальных_параметров> определяет типы и имена формальных параметров. В <список_формальных_параметров> параметры разделяются запятыми. С точки зрения построения алгоритмов методом последовательной детализации, формальные параметры – это входные данные, от которых функционально зависит решение конкретной подзадачи. Таким образом, формальные параметры – это переменные, которые позволяют произвести обмен между вызываемой (решает подзадачу) и вызывающей функциями. <список_формальных_параметров> может отсутствовать. В этом случае в заголовке функции после ее имени пишутся «пустые» скобки.

<тело функции> – алгоритм решения подзадачи, включая описание локальных, т.е. нужных только внутри тела функции, переменных, записанный на языке программирования. Операторы тела функции выполняются до первого оператора return. Если в теле функции нет такого оператора (т.е. функция не возвращает никакого результата), то выполняются все операторы до закрывающейся операторной скобки.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: