C Programming Function Prototypes (Declarations)

Last modified by Microchip on 2023/11/09 09:06

Just like variables, a function must be declared before it may be used. The function's declaration must occur before main() or other functions that use it. The declaration may then take two forms; the first one is to type in the entire function definition. The second option is to just type in a function prototype in which case the function definition itself may be placed anywhere in the program.

Function prototypes may take two different formats:

  • An exact copy of the function header:
1 int maximum(int x, int y);
  • Like the function header, but without the parameter names – only the types need to be present for each parameter:
1 int maximum(int, int);

Example 1

In this example the function is declared and defined before it is used in main().

1 int a = 5, b = 10, c;
2  
3 int maximum(int x, int y)       
4 {                                   
5   return ((x >= y) ? x : y);      
6 }                                   
7  
8 int main(void)
9 {
10   c = maximum(a, b);
11   printf("The max is %d\n", c);
12 }

Example 2

In this example, the function is declared with a prototype before its use in main(). The function is then defined after it is used in main().

1 int a = 5, b = 10, c;
2  
3 int maximum(int x, int y);
4  
5 int main(void)
6 {
7   c = maximum(a, b);
8   printf("The max is %d\n", c);
9 }
10  
11 int maximum(int x, int y)
12 {
13   return ((x >= y) ? x : y);
14 }