пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Определение функции. Объявление или прототип функции.

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

Объявление функций: прототипы функций

1

returnDataType functionName( dataType argName1, dataType argName2, ..., dataType argNameN);

где,

  • returnDataType — возвращаемый тип данных
  • functionName — имя функции
  • dataType — тип данных
  • argName1...N — имена параметров функции (количество параметров неограниченно)

Смотрим пример объявления функции:

1

2

3

/ / Объявление прототипа функции с двумя целыми параметрами

/ / функция принимает два аргумента и возвращает их сумму

int sum(int num1, int num2);

В языках C и C++, функции должны быть объявлены до момента их вызова. Вы можете объявить функцию, при этом функция может возвращать значение или — нет, имя функции присваивает программист, типы данных параметров указываются в соответствии с передаваемыми в функцию значениями. Имена аргументов, при объявления прототипов являются необязательными:

1

int sum(int , int ); // тот же прототип функции

Иногда, объявление функции называют определением функции, хотя это не одно и то же.

Определение функций

1

2

3

4

returnDataType functionName( dataType argName1, dataType argName2, ..., dataType argNameN)

{

    // тело функции

}

Рассмотрим определение функции на примере функции sum.

1

2

3

4

5

// определение функции, которая суммирует два целых числа и возвращает их сумму

int sum(int num1, int num2)

{

    return (num1 + num2);

}

В языках C и C++, функции не должны быть определены до момента их использования, но они  должны быть ранее объявлены. Но даже после всего этого, в конце концов, эта функция должна быть определена. После этого прототип функции и ее определение связываются, и эта функция может быть использована.

Если функция ранее была объявлена, она должна быть определена с тем же возвращаемым значением и типами данных, в противном случае, будет создана новая, перегруженная функция.  Заметьте, что имена параметров функции не должны быть одинаковыми.

1

2

3

4

5

6

7

8

// объявление функции суммирования

int sum(int, int);

 

// определение функции суммирования

int sum(int num1, int num2)

{

    return (num1 + num2);

}

Вызов функций

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

1

funcName( arg1, arg2, ...  );

где,

  • funcName — имя функции;
  • arg1..2 — аргументы функции (значения или переменные)

Примечание: функции могут не иметь параметров, тогда в круглых скобочках ничего писать не надо. Смотрим пример:

1

2

// вызов функции синуса

sin( 60 );

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


28.12.2014; 11:44
хиты: 125
рейтинг:0
Точные науки
информатика
Языки программирования
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь