Оголошення визначає ім’я функції, тип значення, що повертається, і типи аргументів.
// Два аргументи типу double і повертає значення типу double.
double Hypotenuse (double a, double b);
Імена аргументів можуть бути опущені:
double Hypotenuse (double, double);
Функція може вказувати значення аргументів, використовувані за замовчуванням.
void PrintLine (int lenght, char = '-');
Функція може бути перевантажена, тобто те саме ім’я можуть мати кілька функцій із різними типами або кількістю параметрів, для яких не задані значення за замовчуванням.
double Max (double, double);
int Max (int, int); // Правильно перевантажена
int Fluff (int, char = '*');
int Fluff (int, int = 0); // Помилка
Оголошення функції може включати аргумент три крапки (...), що вказує компіляторові, що замість нього можуть бути підставлені нуль чи більше аргументів невизначеного типу.
void printf (const char* format ...);