Воскресенье, 01.12.2024, 11:13
Приветствую Вас, Гость |
Меню сайта
Наш опрос
Нужен ли форум на этом сайте?
Всего ответов: 1313
Статистика

Онлайн всего: 5
Гостей: 5
Пользователей: 0

Функции в языке СИ

 Функция – это синтаксически выделенный именованный программный модуль, выполняющий определенное действие или группу действий. Каждая функция имеет свой интерфейс и реализацию. Интерфейс функции – заголовок функции, в котором указывается название функции, список ее параметров и тип возвращаемого значения.Реализация функции – тело функции, содержащее внутренние (локальные) данные функции и программный код, выполняющий действия согласно переданным в функцию параметрам и возвращающий значение, соответствующего интерфейсу функции типа.
 С точки зрения программиста функции бывают:
  библиотечные – функции описанные в библиотеках функций языка СИ (как стандартных, так и не стандартных);
  пользовательские – функции реализованные программистом в процессе разработки программы.

 Описание функции на языке СИ осуществляется в любом месте программы вне описания других функций и состоит из трех элементов:
  1. прототип функции;
  2. заголовок функции;
  3. тело функции.

 Прототип функции – необязательная часть описания функции, предназначенная для объявления некоторой функции, интерфейс которой соответствует данному прототипу.Объявление прототипа имеет следующий вид:
  тип имя(список типов формальных параметров);
 Параметры функции – значения, передаваемые в функцию при ее вызове. Выделяют понятия: формальные и фактические параметры. Формальные параметры – переменные, описываемые при объявлении функции в ее прототипе и заголовке и используемые в программном коде тела функции. Фактические параметры – переменные, выражения, константные значения или вызовы других функций, указываемые при непосредственном вызове функции внутри другой функции.
Прототип функции. В СИ можно объявлять прототип функции, а уже после описывать ее реализацию.  Примеры прототипов:
  int func(int, double, double);
  void func(int, char *);
  double func(void);

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

 Каждый элемент (формальный параметр) имеет следующий формат объявления:
  тип имя

 Примеры заголовков функций:
  int func(int i, double x, double y)
  void func(int ind, char *string)
  double func(void)

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

Пример:
Реализация функции на СИ для вычисления факториала числа.
  double factorial(unsigned);
  ...
  double factorial(unsigned num)
  {
   double fact = 1.0;
   for(unsigned i=1;i<=num;i++)
    fact *= (double)i;
   return fact;
  }

Следующая статья будет о препроцессоре в СИ.
Форма входа
Поиск
Мы в сети
Реклама
Для того чтобы не видеть рекламу в правом верхнем углу сайта пройдите простую процедуру регистрации
ФОРУМ
У нас наконецто появился форум! Добро пожаловать! Будьте первыми, задайте направление форуму! =)
--- Не стесняемся - заходим на форум! ---