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