Academic Program

Function Prototypes

Function Prototypes

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

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