Описание функции

Параметры функции

Параметры функции определяются списком формальных параметров. Область видимости формальных параметров – те­ло функции. Имена формальных параметров используются в операторах тела функции. Формальными параметрами могут быть только идентификаторы.

Кроме формальных параметров есть фактические. При вызове функции фактические параметры заменяют формальные, т.е. все формальные параметры в теле функции будут заменены на соответствующие фактические. Этот процесс называется передачей фактических параметров в функцию. Это делается для обмена фактическими данными между вызывающей и вызываемой функцией и получения фактического результата после завершения работы вызываемой функции для передачи его в вызывающую функцию.

Между списками формальных и фактических параметров при вызове функции должно быть соответствие:

1) количества формальных и фактических параметров;

2) последовательности формальных и соответствующих им фактических пара­метров (первому формальному параметру соответствует первый фактический, второму – второй и т. д.);

3) типов формальных и соответствующих им фактических параметров.

Сопоставление формальных и фактических параметров производится при каждом вызове функции: первому формальному параметру будет сопоставлен первый фактический, второму – второй и т.д. При передаче параметров нарушение соответствия по количеству или типам парамет­ров может привести к серьезным ошибкам, например к нарушению границ переменных, в том числе массивов. Некорректная по смыслу передача фактических параметров может привести к неверному результату, хотя алгоритм, записанный в функции, будет верен.

Список формальных параметров может содержать нуль и более объявлений переменных, разделенных запятыми. При объявлении формальных параметров для каждого элемента списка формальных параметров объявляется имя и тип только этого параметра. Объявление каждого формального параметра имеет форму

<имя_типа_параметра> <идентификатор_параметра>

Здесь <имя_типа_параметра> – имя допустимого типа значений, стандартного или определенного пользователем; <идентификатор_параметра> – имя формального параметра.

Отсутствие имени типа параметра в списке формальных параметров является синтаксической ошибкой.

Пример описания функции:

int func(int a, char *str, float b[])

{

…//операторы тела функции

}

Строка int func(int a, char *str, float b[]) – это заголовок функции; функция возвращает целочисленный результат, func – это имя функции, a, str, float b[] – формальные параметры функции (a – целочисленная переменная, str – указатель на тип char, т.е. строка, b – имя одномерного массива значений типа float).

Так как функция – это самостоятельная единица программы, то есть смысл выделять (описывать) функции в отдельных головных файлах, затем подключать их при помощи соответствующей директивы препроцессора и использовать написанные функции в главной программе.


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



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