Синтаксис функций

Тема 5 Функции

 

 

Функция – это самостоятельная поименованная часть программы, которая может получать аргументы и может возвращать вычисленное в ней значение.

Разделение программы на функции позволяет избежать избыточности кода, так как функцию записывают один раз, а вызывать её на выполнение можно многократно из разных точек программы. Разработку программы, содержащей функции, можно поручить группе программистов, а часто используемые функции помещать в библиотеки. Все это делает процессы разработки, отладки и сопровождения программ более эффективными и управляемыми.

Любая программа на С++ состоит из функций, одна из которых должна иметь имя main (именно с неё начинается выполнение программы).

Любая функция должна быть объявлена и определена. Как и для других величин, объявлений может быть несколько, а определение только одно. Выполнение функции начинается в момент её вызова.

Таким образом, в работе с функцией существует 3 ключевых момента: · объявление; · вызов; · определение.

Объявление функции (синонимы – прототип, заголовок, сигнатура) задает её имя, тип возвращаемого значения и список передаваемых параметров. Оно должно находиться в тексте раньше её вызова для того, чтобы компилятор мог осуществить проверку правильности вызова.

Тип ИмяФункции ( список_параметров );

Определение функции содержит, кроме объявления, тело функции, представляющее собой последовательность операторов и описаний в фигурных скобках:

 

Тип ИмяФункции ( список_параметров ){// тело функции}

 

Рассмотрим составные части определения.

  • Тип возвращаемого функцией значения может быть любым, кроме массива и функции (но может быть указателем на массив или функцию). Если функция не должна возвращать значение, указывается тип void.
  • Список параметров (или формальных параметров) определяет величины, в которых хранятся значения аргументов (или фактических параметров), передаваемых в функцию при её вызове. Элементы списка параметров разделяются запятыми. Для каждого параметра, передаваемого в функцию, указывается его тип и имя (в объявлении имена можно опускать).

В определении, в объявлении и при вызове одной и той же функции типы и порядок следования параметров должны совпадать! На имена параметров ограничений по соответствию не накладывается.

Тип возвращаемого значения и типы параметров совместно определяют тип функции.

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

Пример функции, возвращающей сумму двух целых величин:

 

#include <stdio.h> int Sum (int x, int y); // объявление функции//--------------------------------------------------------------------void main( ){ int A, B, C;

printf ( “\n Введите A ”);

scanf (“%d”, &A);

printf ( “\n Введите B ”);

scanf (“%d”, &B);

C = Sum (A, B); //вызов функции

printf ( “\n Сумма %d и %d равна %d”, A, B, C);

getch ();}//--------------------------------------------------------------------int Sum (int x, int y) // определение функции{ return x + y;}

 

 

Вызов функции располагается в правой части оператора присваивания, поэтому возвращаемое функцией значение присваивается переменной С.