Functions in C by G Krishna Chauhan


The function in C language is also known as procedure or subroutine in other programming languages.To perform any task, we can create function. A function can be called many times. It provides modularity and code reusability.

Advantage of functions in C: There are many advantages of functions.

1) Code Reusability: By creating functions in C, you can call it many times. So we don't need to write the same code again and again.

2) Code optimization: It makes the code optimized, we don't need to write much code.

Suppose, you have to check 3 numbers (781, 883 and 531) whether it is prime number or not. Without using function, you need to write the prime number logic 3 times. So, there is repetition of code.

But if you use functions, you need to write the logic only once and you can reuse it several times.

Types of Functions: There are two types of functions in C programming:

Library Functions: are the functions which are declared in the C header files such as scanf(), printf(), gets(), puts(), ceil(), floor() etc.

User-defined functions: are the functions which are created by the C programmer, so that he/she can use it many times. It reduces complexity of a big program and optimizes the code.

Declaration of a function:

The syntax of creating function in c language is given below:

return_type function_name(data_type parameter...)
{  
//code to be executed  
}  
Return Value

A C function may or may not return a value from the function. If you don't have to return any value from the function, use void for the return type.

Example without return value:

void hello()
{  
printf("hello Student");  
}  

If you want to return any value from the function, you need to use any data type such as int, long, char etc. The return type depends on the value to be returned from the function.

Example with return value:

int get()
{  
return 10;  
}
In the above example, we have to return 10 as a value, so the return type is int. If you want to return floating-point value (e.g. 10.2, 3.1, 54.5 etc), you need to use float as the return type of the method.

float get()
{  
return 10.2;  
}
Now, you need to call the function, to get the value of the function.

Parameters in C Function:

A c function may have 0 or more parameters. You can have any type of parameter in C program such as int, float, char etc. The parameters are also known as formal arguments.

Example of a function that has 0 parameter:

void hello()
{  
printf("hello c");  
}  

Example of a function that has 1 parameter:

int cube(int n)
{  
return n*n*n;  
}  

Example of a function that has 2 parameters:

int add(int a, int b)
{  
return a+b;  
}
Calling a function in C:

If a function returns any value, you need to call function to get the value returned from the function. The syntax of calling a function in c programming is given below:

variable=function_name(arguments...);  

1) variable: The variable is not mandatory. If function return type is void, you must not provide the variable because void functions doesn't return any value.

2) function_name: The function_name is name of the function to be called.

3) arguments: You need to provide arguments while calling the C function. It is also known as actual arguments.

Example to call a function:

hello();//calls function that doesn't return a value  
int value=get();//calls function that returns value  
int value2=add(10,20);//calls parameterized function by passing 2 values  '

Example of C function with no return statement

#include <stdio.h>      
#include <conio.h>    
//defining function    
void hello()
{  
printf("hello c programming");  
}  
void main()
{      
clrscr();      
hello();//calling a function  
hello();  
hello();  
getch();      
}      

Output

hello c programming
hello c programming
hello c programming


Example of C function with return statement:

#include <stdio.h>      
#include <conio.h>    
//defining function    
int cube(int n)
{  
return n*n*n;  
}  
void main()
{      
int result1=0,result2=0;    
clrscr();      
result1=cube(2);//calling function  
result2=cube(3);    
printf("%d \n",result1);  
printf("%d \n",result2);  
getch();      
}      


Output

8
27

No comments:

Post a Comment