Работа с функциями

 

Разработка больших программ осуществляется с использованием принципа модульного программирования, суть которого состоит в том, что алгоритм задачи разбивается на ряд подзадач. Этот процесс называют функциональной декомпозицией задачи или принципом "разделяй и властвуй". Для реализации алгоритмов подзадач на ЯВУ разрабатываются вспомогательные программные единицы, называемые подпрограммами. Для решения задачи в целом в программе, называемой главной (основной), организуются обращения (вызовы) к подпрограммам. Подпрограммы делятся на стандартные, которые находятся в библиотеках подпрограмм на ЭВМ, и пользовательские, разрабатываемые самим пользователем.

В языках С/С++ подпрограммы называются функциями. Функция – это логически самостоятельная именованная часть программы, которой могут передаваться параметры и которая может возвращать какие-то результаты. С-программа состоит из одной или нескольких функций, причем только одна является обязательной и определяется как главная функция с именем main. С этой функции начинается исполнение программы. Последовательность функций может быть произвольной. Функции могут вызывать друг друга (кроме функции main).

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