Prototyp funkcji - pełny nagłówek funkcji zakończony średnikiem.
Predefinicja funkcji - nagłówek funkcji nie zawierający parametrów formalnych zakończony średnikiem.
Prototypy i predefinicje stosuje się w celu poinformowania kompilatora jaki jest typ wartości zwracanej przez funkcję zdefiniowaną później lub w innym module oraz jakich wymaga ona parametrów.