Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


ќпределение, описание и вызов функции




—ледует различать определение функции, описание функции (заголовок) и вызов функции.

‘ормат определени€ функции:

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

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

—пецификаци€ формальных параметров в круглых скобках определ€ет параметры функции, один параметр отдел€етс€ от другого зап€той. —пецификаци€ формальных параметров имеет следующий формат:

<тип1> [<им€1>][=<умалчиваемое_значение>], <тип2> [<им€2>][=<умалчиваемое_значение>],Е

‘ормальные параметры функции могут отсутствовать в этом случае после имени функции идут пустые скобки (или в скобках может быть ключевое слово void). »м€ формального параметра может отсутствовать, если этот параметр пока не используетс€ в теле функции, но зарезервирован на будущее.

“ело функции €вл€етс€ блоком, в нем локализованы формальные параметры заголовка. ¬ажным оператором тела функции €вл€етс€ оператор return, наличие данного оператора об€зательно, если тип возвращаемого значени€ отличен от void. ≈сли функци€ возвращает некоторое значение, то она может вызыватьс€ внутри оператора- выражени€ в любом месте, где разрешено использовать значение данного типа.

¬ качестве модификаторов функции может присутствовать модификатор класса пам€ти extern или static. ѕо умолчанию у функции класс пам€ти extern. ≈сли функци€ определена с ключевым словом static, то функцию можно использовать только в том файле, где она определена.

‘ункци€ может быть определена только один раз, определение функции может находитьс€ в отдельном файле, но чтобы ее использовать в другом файле (или в том же файле, но выше места определени€) необходимо до вызова функции включить описание функции. ќписание функции, по сути, €вл€етс€ заголовком функции без тела, оно имеет формат:

[<модификаторы>] <тип_возвращаемого_значени€> <им€_функции>

(<спецификаци€_формальных_параметров>);

ѕримечание. —тандартные заголовочные файлы stdio.h, stdlib.h, math.h и др. содержат описани€ или заголовки стандартных функций, поэтому их необходимо подключать, если требуетс€ вызывать стандартные функции, описанные в заголовочных файлах.

—овокупность формальных параметров определ€ет сигнатуру функции. ¬ описании имена параметров можно не использовать, важно количество и типы параметров. “акже в описании не должны присутствовать умалчиваемые значени€ параметров, если они есть в определении функции.

ѕример простой функции, котора€ возвращает сумму двух свои параметров:

double summa(double x, double y)

{

return x+y;

}

ќписание или заголовок этой функции имеет вид:

double summa(double, double);

¬ызов функции имеет следующий формат (вызов функции часто выполн€етс€ внутри оператора- выражени€):

<им€_функции>(<список_факт_параметров>);

ѕри вызове функции вместо формальных параметров подставл€ютс€ фактические параметры (переменные, константы, указатели и др.) и выполн€ютс€ операторы тела функции со значени€ми фактических параметров.

—ледует отметить, что функци€ может вызыватьс€ Ђкак функци€ї, когда используетс€ возвращаемое значение и функци€ вызываетс€ внутри выражени€:

S=summa(a, b); // ѕеременной S присваиваетс€ значение, возвращаемое функцией

‘ункци€ может вызыватьс€ Ђкак процедураї, когда возвращаемой значение не используетс€ (если оно вообще не нужно, можно объ€вить тип void):

printf(Уx=%fФ, x); // ‘ункци€ printf возвращает значение типа int,

// но оно не используетс€





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-10-01; ћы поможем в написании ваших работ!; просмотров: 454 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

„то разум человека может постигнуть и во что он может поверить, того он способен достичь © Ќаполеон ’илл
==> читать все изречени€...

1467 - | 1353 -


© 2015-2024 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.008 с.