ANSI C provides function prototypes. This allows the compiler to check the type and number of arguments to functions, and avoids default argument promotions. To prototype functions, declare the type and name of each function in the function definition. Then provide a prototype declaration (including at least the types) before the function is called.
Prototypes are provided for most DDI/DKI functions, so many potentially fatal errors are now caught at compile time.