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);} |