Functions and its advantages in C Language

A function is a group of statements that are executed whenever the function is called to perform a specific designated task.

C programming makes use of modularity to remove the complexity of a program. The programmer divides the program into different modules or functions and accesses certain functions when needed. Every C program has at least one function. The most common function that we use in our day-to-day programming is the main() function. The compiler always executes the main() function first and then any other function(if it is called from the main method).

A function is basically a block of statements that performs a particular task. Suppose a task needs to be performed continuously on many data at different points of time, like one at the beginning of the program and one at the end of the program, so instead of writing the same piece of code twice, a person can simply write it in a function and call it twice. And after the execution of any function block, the control always comes back to the main() function.

Advantages of Using a Function

Here are several advantages of using functions in your code:

  • Use of functions enhances the readability of a program. A big code is always difficult to read. Breaking the code in smaller Functions keeps the program organized, easy to understand and makes it reusable.
  • The C compiler follows top-to-down execution, so the control flow can be easily managed in case of functions. The control will always come back to the main() function.
  • It reduces the complexity of a program and gives it a modular structure.
  • In case we need to test only a particular part of the program we will have to run the whole program and figure out the errors which can be quite a complex process. Another advantage here is that functions can be individually tested which is more convenient than the above mentioned process.
  • A function can be used to create our own header file which can be used in any number of programs i.e. the reusability.

With so many advantages, functions are a boon for any programmer. Let’s learn more about these functions:

Types of Functions

Apart from the functions that programmers create according to their requirement, C compilers has some built-in functions that can be used anytime by the programmer. C Programming Language has two types of functions:

  • Built-in Functions/library Functions
  • User-defined Functions

Library Functions

There functions are already defined in the C compilers. They are used for String handling, I/O operations, etc. These functions are defined in the header file. To use these functions we need to import the specific header files.


The library function <stdio.h> includes these common functions(there are many other functions too):

  • printf() shows the output in the user’s format.
  • scanf() used to take the user’s input which can be a character, numeric value, string,etc.
  • getchar() takes character input from the user.
  • gets() reads a line.

The library function <math.h> includes these common functions(there are many other functions too):

  • pow() finds the power of the given number.
  • sin() finds the sine of the given number.
  • exp() finds the exponent of the given number.
  • cos() finds the cosine of the given number.
  • sqrt() finds the square root of the number.
  • log() finds the logarithmic value of the number.

Apart from <stdio.h> and <math.h> there are many other header files that contain library functions such as <conio.h> that contains clrscr() and getch().

User-defined Functions

User-defined functions are the ones created by the user. The user can program it to perform any desired function.It is like customizing the functions that we need in a program. A program can have more than one user-defined functions. All the user-defined functions need to be called(directly or indirectly) inside the main() function in order to be executed. User-defined functions can be added to the program in two ways. Either through user-defined header files or by adding a function block directly to the program. But the most important thing is to have a main() function. It makes it easier to code and call in other functions in its body.

Any function has 4 building blocks to be declared –

  • Function name
  • Function Parameters
  • Return type
  • Statements to be executed

For more details on all the building blocks and complete information about the functions please read the next post of User Defined Functions.

Read more :- Preprocessors in C programming language

Knowledge is most useful when liberated and shared. Share this to motivate us to keep writing such online tutorials for free and do comment if anything is missing or wrong or you need any kind of help.

Do not forget to share and Subscribe.

Keep Learning… Happy Learning.. :)