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.
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.
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.
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.
. . . . . .
. . . . . .
It defines the actual body of the function and the task that it will perform.
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.
- 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.