A function is a group of statements that together perform a task. Every C program has at least one function, which is main(), and all the most trivial programs can define additional functions.
A function definition in C programming consists of a function header and a function body. Here are all the parts of a function −
Return Type − A function may return a value. The return_type is the data type of the value the function returns. Some functions perform the desired operations without returning a value. In this case, the return_type is the keyword void.
Function Name − This is the actual name of the function. The function name and the parameter list together constitute the function signature.
Parameters − A parameter is like a placeholder. When a function is invoked, you pass a value to the parameter. This value is referred to as the actual parameter or argument. The parameter list refers to the type, order, and a number of the parameters of a function. Parameters are optional; that is, a function may contain no parameters.
Function Body − The function body contains a collection of statements that define what the function does.
Function Declarations
A function declaration tells the compiler about a function name and how to call the function. The actual body of the function can be defined separately.
A function declaration has the following parts −
return_type function_name( parameter list );
For the above-defined function max(), the function declaration is as follows −
int max(int num1, int num2);
Parameter names are not important in function declaration only their type is required, so the following is also a valid declaration −
int max(int, int);
The function declaration is required when you define a function in one source file, and you call that function in another file. In such a case, you should declare the function at the top of the file calling the function.
Calling a Function
While creating a C function, you define what the function has to do. To use a function, you will have to call that function to perform the specified task.
When a program calls a function, the program control is transferred to the called function. A called function performs a defined task, and when its return statement is executed or when its function-ending closing brace is reached, it returns the program control back to the main program.
To call a function, you simply need to pass the required parameters along with the function name, and if the function returns a value, then you can store the returned value.
Function is mainly of four types:
1.function passing parameter/arguments with return value
eg:
int sum(int,int);
int main()
{
int a,b,temp;
printf(“Enter any two number:”);
scanf(“%d%d”,&a,&b);
temp=sum(a,b);
printf(“Sum of two number is %d:”);
getch();
return 0;
}
int sum (intx,inty)
{
return (x+y);
}
2.Function passing parameters/arguments with no return value
eg:
void sum(int,int);
int main()
{
int a,b,temp;
printf(“Enter any two number:”);
scanf(“%d%d”,&a,&b);
temp=sum(a,b);
printf(“Sum of two number is %d:”);
getch();
return 0;
}
void sum (intx,inty)
{
printf(“The sum of two no. is %d “, x+y);
}
3.Function passing no parameters with return value:
eg:
int sum();
int main()
{
int temp;
temp=sum();
printf(“The sum of two numbber is %d”,temp);
getch();
return 0;
}
int sum()
{
int a,b,add;
printf(“Enter any two number:”);
scanf(“%d%d”,&a,&b);
add=(a+b);
return (add);
}
}
4.Function passing no parameter with no return value
eg:
void sum ();
int main ()
{
sum ();
getch();
return 0;
}
void sum ()
{
int a,b,add;
printf(“Enter any two number:”);
scanf(“%d%d”,&a,&b);
add=(a+b);
printf(“The sum of two no %d”,add);
}