глава 5

глава 5


Функции позволяют обеспечить внутреннюю организованность программы и со- кратить размер ее кода, присваивая повторяющимся фрагментам программы имя и заменяя этим именем все повторения, встречающиеся в программе. Объявле- ние, или прототип функции задает общий вид функции, вызов функции переда- ет управление в функцию, а определение функции задает совокупность дейст- вий, выполняемых функцией. Первая строка в определении функции называется спецификатором функции. Передача аргументов в функцию может осуществляться по значению и по ссылке. В первом случае функция работает с копией значения аргумента, во втором функции доступна сама переменная, передаваемая в качестве аргумента. Функция может возвращать только одно значение. Как правило, функция производит возврат по значению, но возможен и возврат по ссылке, что позволяет использовать вызов функции в качестве левого операнда операции присваивания. Структурные переменные могут выступать как в роли аргументов, так и в роли возвращаемых значений. Перегруженная функция представляет собой группу функций, имеющих од- но и то же имя. Какая из функций выполняется при вызове, зависит от количества указанных в вызове аргументов, а также их типов. Встроенные функции внешне похожи на обычные функции, но при вызовах их код вставляется непосредственно в исполняемый код программы. Встроенные функции исполняются быстрее, но могут занимать в памяти больше места, чем обычные функции, если только размер встроенных функций не является очень маленьким. Если в функции используются значения аргументов по умолчанию, то при вызове функции не обязательно указывать значения этих аргументов. Вместо отсутствующих значений будут использоваться значения по умолчанию.

Report Page