...
If a function declaration is not visible at the point at which a call to the function is made, some compilers assume an implicit declaration of
extern int func();
However, for conformance to C99, you should explicitly prototype every function before making a call to it.
...