Теоретичні відомості

2.1 Основна функція програми

Кожна програма у своєму складі повинна мати головну функцію main(). Саме функція main() забезпечує створення точки входу в об’єктний модуль.

Крім функції main(), в програму може входити будь-яка кількість функцій. Кожна функція по відношенню до іншої є зовнішньою. Для того, щоб функція була доступна, необхідно, щоб до її виклику про неї було відомо компілятору.

Із поняттям функції у мові С++ пов’язано три наступних компоненти:

опис функції;

прототип;

виклик функції.

2.2 Опис функції

Опис функції складається з двох частин: заголовка і тіла. Опис функції має наступну форму запису:

/* заголовок функції*/

[тип_ результату] <ім’я>([список_параметрів])

{

/* оголошення і оператори */

тіло_функції

}

Тип результату — це тип значення, яке повертається. У випадку відсутності специфікатора типу передбачається, що функція повертає ціле значення (int). Якщо функція не повертає ніякого значення, то на місці типу записується специфікатор void. У списку параметрів для кожного параметра повинен бути зазначений тип. При відсутності параметрів список може бути порожнім або мати специфікатор void.

Тіло функції являє собою послідовність оголошень і операторів, які описують визначений алгоритм. Важливим оператором тіла функції є оператор повернення в точку виклику: return [вираз]. Оператор return має подвійне призначення. Він забезпечує негайне повернення у викликаючу функцію і може використовуватися для передачі обчисленого значення функції. У тілі функції може бути декілька операторів return, але може не бути й жодного. В останньому випадку повернення у викликаючу програму відбувається після виконання останнього оператора тіла функції.

2.3 Прототип функції

Прототип функції може вказуватися до виклику функції замість опису функції для того, щоб компілятор міг виконати перевірку відповідності типів аргументів і параметрів. Прототип функції за формою такий же, як і заголовок функції, наприкінці його ставиться;. Параметри функції в прототипі можуть мати імена, але компілятору вони не потрібні.

Компілятор використовує прототип функції для порівняння типів аргументів з типами параметрів. Мова С++ не передбачає автоматичного перетворення типів у випадках, коли аргументи не співпадають за типами з відповідними їм параметрами, тобто мова С++ забезпечує строгий контроль типів.

При наявності прототипу функції, які викликаються, не зобов'язані розміщатися в одному файлі з функцією, що їх викликає.

2.4 Виклик функції

Виклик функції може бути оформлений у виді оператора, якщо у функції відсутнє значення, що повертається, або у виді виразу, якщо існує значення, що повертається.

У першому випадку оператор має наступний формат:

ім'я_функції(список_аргументів);

Наприклад f(x);

В другому випадку вираз записується у такий спосіб: h=f(x);

Значення обчисленого виразу є значенням функції, що повертається. Значення, що повертається, передається в місце виклику функції і є результатом її роботи.

Число і типи формальних аргументів повинні співпадати з числом і типом фактичних параметрів функції. При виклику функції фактичні параметри підставляються замість формальних аргументів.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: