Declarations And Definitions
Go Up to Functions Index
Each program must have a single external function named main or WinMain marking the entry point of the program. Functions are usually declared as prototypes in standard or user-supplied header files, or within program files. Functions are external by default and are normally accessible from any file in the program. You can restrict visibility of functions by using the static storage class specifier (see Linkage).
Functions are defined in your source files or made available by linking precompiled libraries.
A given function can be declared several times in a program, provided the declarations are compatible. Nondefining function declarations using the function prototype format provide the compiler with detailed parameter information, allowing better control over argument number and type checking, and type conversions.
Note: In C++ you must always use function prototypes. We recommend that you also use them in C.
Excluding C++ function overloading, only one definition of any given function is allowed. The declarations, if any, must also match this definition. (The essential difference between a definition and a declaration is that the definition has a function body.