Use of a Function Prototype
A function is a collection of statements that work together to complete a task. To define any function in the program, firstly, we have to define the function prototype. The function prototype term is defined here.
What is Function Prototype?
The function prototype is also known as the function interface. A function prototype is just a function's declaration, which includes the function's name, parameters, and return type. A function prototype informs the compiler that the function might be utilized later in the program.
Syntax of Function Prototype:
returnTypefunctionName (datatype argument1, datatype argument2, datatype argument3 ...);
The Components of a Function Prototype
1. Return types
A function might be returned a value. The data type of the value that the function returns are known as the return type.
Example 1:
#include <stdio.h>
float add (float num1, float num2); // Function prototype
int main ()
{
float result = add (2.8, 6.9);
printf("The addition is %f ", result);
return 0;
}
float add (float num1, float num2)
{
float num3;
num3 = num1 + num2;
return num3;
}
Output:
The addition is 9.700000
Explanation:
This is the program for adding the two float values using a function. This program adds two float values and returns the result. Here, we are returning the float value; that's why the function return type also floats. As we are adding two float values, its addition is also a float value. Based on the return data, the return type can be int, float, Boolean, character, double, string, and void. When the function does not have any value, that time function data type is void.
See the following example to understand the void return type.
Example 2:
#include <stdio.h>
void printName (char name[20]);
int main()
{
char data[20]="JavaTPoint";
printName (data);
return 0;
}
void printName (char name[20])
{
printf("The name is : %s ", name);
}
Output:
The name is: JavaTPoint
Function printName does not return any value; that's why its return type is void.
2. List of arguments
It indicates the number of variables with their data type passed to the function.
For Example:
- void sample ();
This function has 0 arguments.
- void sample (int num1, int num2);
This function has two arguments which having the same datatypes.
- void sample (float num1, int num2, char word);
This function has three arguments, one variable of float data type, another variable is of int datatype, and the third one is of char data type.
3. Function name
The function name is the name given to the function.
For example:
void studentData ();
The studentData is the name of the function.
What is Function Definition?
The function definition includes the function name, return type, and parameters with the function body. The function implementation is included in the function definition.
Syntax:
returnTypefunctionName (Datatype argument1, datatype argument2, datatype argument3 ...)
{
function body
}
Example:
#include <stdio.h>
float subtraction (float num1, float num2);
int main ()
{
float sub;
sub= subtraction (9.8,1.1);
printf("The subtraction is %f", sub);
return 0;
}
float subtraction (float num1, float num2)
{
// function body
float num3;
num3 = num1 - num2;
return num3;
}
Output:
The subtraction is 8.700000
In the above program, the lines present inside the '{ }' of the subtraction function is called the body of the subtraction function.
Difference between a Function Definition and a Function Prototype
Function Prototype | Function Definition |
It includes a declaration of the function. | It has the body of the function. |
It always ends with a semicolon. | There is no semicolon at the end. |
It includes the function's name, parameters, and return type. | It includes the function name, return type, parameters, and the function body. |
A function prototype informs the compiler that the function might be utilized later in the program. | It includes the code that specifies the purpose of the function. |
Syntax: returnTypefunctionName (Datatype argument1, datatype argument2, datatype argument3 ...); | Syntax: returnTypefunctionName (Datatype argument1, datatype argument2, datatype argument3 ...) { function body } |
Example: int add( int num1, int num2); | Example: int add(int num1, int num2) { int num3; num3= num1 + num2; return num3; } |
Use of Function Prototype
- It indicates how many arguments are passed to the function.
- It specifies the return type for the function.
- It provides information about the data types of each argument that has been passed.
- It indicates the order in which the function's parameters are passed.
- It does not have a functioning body.