{
/* Тело функции */
}
Определения функций не могут быть вложенными. Каждая функция, вызываемая в программе, должна быть один раз определена в одном из файлов проекта. Другие файлы, имеющие модули, вызывающие такую функцию, должны иметь ее прототип. Прототип специфицирует тип, имя и типы формальных параметров функции:
Тип имя_функции (спецификация_параметров);
В отличие от заголовка функции в прототипе функции имена формальных параметров могут не указываться. Например, следующие прототипы одной и той же функции эквивалентны:
double func (int n, float x);
double func (int, float);
Для обращения к функции используется выражение с операцией «круглые скобки»:
Имя_функции (список_фактических_параметров);
Операндами операции «круглые скобки» служат имя_функциии список_фактических_параметров, т.е. список выражений, количество которых равно числу формальных аргументов функции (за исключением функций с переменным количеством параметров). Между формальными и фактическими параметрами должно быть соответствие по типам, т.е. тип формального параметра должен соответствовать типу фактического параметра.
|
|
Фактические параметры могут быть любыми значениями того же типа, что и формальные параметры, массивом или указателем на любой тип или функцию. Все фактические параметры передаются по значению. Их значения копируются в соответствующие формальные параметры. Функция использует только копии объектов, не изменяя самих объектов. Компилятор выполняет преобразования по умолчанию для каждого типа формального параметра и каждого фактического аргумента.
Функция может не иметь фактических параметров и не возвращать никакого значения, например:
#include <stdio.h>
Void Real_Time (void)
{
printf ("\n Текущее время: %s", __TIME__
" (час: мин: с) ");
}
При обращении к функции
Real_Time ();
в результате выполнения функции будет выведено на экран сообщение:
Текущее время: 14:16:25 (час: мин: с)
Для оказания помощи программистам язык С предлагает готовые функции, организованные в виде библиотеки и распределенные на несколько групп. Каждая группа имеет свой заголовочный файл, подключаемый с помощью директивы include. В приложении 2 приведены некоторые часто употребляемые функции, объединенные в такие группы.
Задание на РГЗ 2
ИСПОЛЬЗОВАНИЕ МОДУЛЬНОГО ПРОГРАММИРОВАНИЯ
ПРИ РЕШЕНИИ ЗАДАЧ