Процесс разработки программного обеспечения предполагает расчленение сложной задачи на набор более простых подзадач. В Языке Си поддерживаются функции как логические единицы (поименованные блоки текста программы), служащие для реализации отдельных подзадач.
Функции в Си должны иметь уникальные имена. Существенное значение имеет тип возвращаемого значения функцией. Функция может возвращать только одно значение. Функция может иметь параметры, необходимые для ее выполнения. Список параметров объявляется в круглых скобках после имени функции. Количество параметров может быть произвольным.
Простейшим примером использования функций является функция main (головная), которая должна присутствовать в любой программе, разрабатываемой на Си. С нее начинается выполнение программы. Чаще всего функция main не имеет принимаемых параметров и не возвращает значения. В этом случае вместо отсутствующих типов указывается ключевое слово void (если тип возвращаемого параметра не указан, то по умолчанию тип возвращаемого значения такой функции является int). Пример: void main(void).
Если функция возвращает значение, то это значение передается вызвавшему фрагменту при помощи записываемого в операторе «return» выражения. Return вызывает завершение работы данной функции, передачу значения в функцию, вызвавшую данную, и возврат управления на оператор, следующий после вызова функции.
При вызове функции указываются фактические параметры вызова, их количество должно соответствовать числу и типу формальных параметров в заголовке вызываемой функции. Если функция не возвращает значения (т.е. возвращает void), то оператор return может использоваться в варианте «return;» (без следующего за ним выражения). Пример:
#include <dos.h>
#include <stdio.h>
#include <conio.h>