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