Functions by default have global scope within a project
A function defined within any file in a project may be called from any other file.
extern keyword not required, but function prototype is required in calling file or #included header file
The only thing required to access the externally defined function is a function prototype in the calling file or a #included header file. The use of header files for this purpose is extremely common. The functions available in the standard C library all have associated header files that may be included in your source files. These header files contain the function prototypes for the library functions, which let the compiler know how to handle these function calls even though the definition of the function is somewhere else.
Note: it is perfectly valid to use the extern keyword in front of a function definition, but it isn't strictly required.