Functions in C Programming – Part 1

It’s a good approach if we build a program by dividing it into small modules known as functions. In today’s tutorial, I will tell you about the basic use of functions.

So lets begin our quest to learn functions in C programming. The very first question that will hit your mind should be.

What are functions in C?

A function is a set of statements which are aggregated to perform some specific task. Generally we use functions to perform basic tasks in a generic way.
A good C programmer avoids writing the same set of statements repeatedly. Instead of it, a programmer makes a function and writes all the statements there and call that function whenever needed.

There are two types of functions.

Inbuilt Function
These functions are already defined to perform specific task. For example printf() to print value on screen while scanf() to read value. There are many other inbuilt functions.

User-defined function
The functions that are defined by the programmer or user are called as user-defined functions. In this tutorial you will learn how to define and use such functions.

In functions we have three parts.

Function declaration

return_type function_name(argument list);

Function declaration tells the compiler about the value that it will return, the name of the function and the arguments or values that will be passed to the function. Passing the values is optional so you can skip argument list passed. If you don’t want to return any value then just write void instead of return_type.

Function Definition

return_type function_name(argument_list)
{
Body_of_funtion;
. . . . . . 
. . . . . .
}

It defines the actual body of the function and the task that it will perform.

Function calling


function_name(argument list);

This statement will call the function and the control of the program will go to body of the function. After executing all the statements in the function it will come back where calling was done.

Lets checkout the simple C program with two functions.

#include<stdio.h>

//funtion declaration
void msg();

void main()
{
 printf("Hello All");

 //funtion calling
 msg();
}

//funtion definition
void msg()
{
 printf("nTheCrazyProgrammer");
}

Output

Funtions in C Programming - Part 1

Explanation

  • As I said in earlier tutorials, main() is also a function. Every C program starts with the main() function. It is also called starting function and we cannot alter the control from it in the beginning. Our above program also starts with main() function.
  • In the main() function I have printed the message “Hello All” using printf() function.
  • After that I have called the function msg() which is created by me. Carefully look I called the msg() function by writing  msg();
  • After encountering the call to msg() function, the control shifts to the msg() function.
  • Now a message “TheCrazyProgrammer” is printed on the screen.
  • Again control reaches to the main() function. As there are no statements left in the main() function. So the program comes to end.

While transferring the control from main() function to msg() function, the activity of main() function is temporarily suspended. In our above program main() is calling function and msg() is called function.

Function is one of the most important topics in C programming. You cannot write efficient programs without the proper knowledge of functions in C programming. So I recommend you to go through this tutorial at least once to make everything clear. In the next tutorial I will tell you about the multiple calls within one function.

1 thought on “Functions in C Programming – Part 1”

Leave a Comment

Your email address will not be published. Required fields are marked *