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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

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

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

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

Приклад[ред. | ред. код]

Наприклад, зустрівшись із рядком коду

 
a = sin(x);

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

Для уникнення такої ситуації в програмі перед викликом функції необхідно помістити оголошення її прототипу:

 
double sin(double); 
...
a = sin(x);

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

Альтернативний і надійніший варіант — використати заголовний файл math.h, в якому прототип функції sin вже оголошений разом із іншими тригонометричними функціями

 
#include <math.h> 
...
a = sin(x);