Прототип функції
Прототип функції — декларація функції в деяких мовах програмування, при якій вказується тільки її назва, тип та кількість і типи її аргументів. Таке оголошення необхідне і достатнє для компілятора при створенні правильного об'єктного коду.
Необхідність у оголошенні прототипу функції перед визначенням її реального коду виникає при складних вкладених викликах однієї функції в іншій. Декларація прототипу дозволяє програмісту уникнути прослідковування послідовності написання функцій в програмі. Крім того, реальний код функції може знаходитися в окремій, уже відкомпільованій бібліотеці, що підключається до програми компонувальником.
Оголошення прототипів функцій стандартних бібліотек С та С++ поміщені в спеціальні заголовні файли, які приєднуються до програми препроцесором на першому етапі компілювання.
Приклад
Наприклад, зустрівшись із рядком коду
a = sin(x);
компілятор не знатиме типу даних, який повертає функція sin, і, або видасть помилку, або (що гірше) перетворить результат виклику функції в ціле число.
Для уникнення такої ситуації в програмі перед викликом функції необхідно помістити оголошення її прототипу:
double sin(double);
...
a = sin(x);
В цьому оголошенні вказано, що функція sin приймає аргумент типу дійсного числа подвійної точності і повертає дійсне число подвійної точності.
Альтернативний і надійніший варіант — використати заголовний файл math.h, в якому прототип функції sin вже оголошений разом із іншими тригонометричними функціями
#include <math.h>
...
a = sin(x);