Тело функции
Тело функции — это составной оператор, содержащий операторы, которые определяют выполняемые функцией действия.
Синтаксис
function-definition
:
declaration-specifiers
необ. attribute-seq
необ. declarator
declaration-list
необ. compound-statement
/* attribute-seq
используется только в системах Майкрософт */
compound-statement
: /* Тело функции */
{
declaration-list
необ. statement-list
необ. }
Если не указано иное, переменные, объявленные в теле функции (локальные переменные), имеют класс хранения auto
. При вызове функции хранилище создается для локальных переменных, а локальные инициализации выполняются. Элемент управления выполнением передается в первую инструкцию и продолжается до тех пор, пока return
не будет выполнена инструкция compound-statement
или конец тела функции. Затем управление возвращается в точку, из которой вызвана функция.
Если функция должна возвращать значение, должен быть выполнен оператор return
, содержащий выражение. Возвращаемое значение функции не определено, если оператор не return
выполняется или если return
инструкция не включает выражение.