The compiler recognizes function prototypes that override old-style nonprototype definitions that appear at a later position in your code.
The compiler generates a warning message if you use old-style function prototypes.
int function_prototypes(char); // Old-style function definition. int function_prototypes(x) char x; { return x == 0; }