We have mentioned earlier that one of the strengths of C language is that C functions are easy to define and use. C functions can be classified into two categories, namely, library functions and user-defined functions. main is an example of user defined function. printf and scanf belong to the category of library functions. The main distinction between user-defined and library function is that the former are not required to be written by user while the latter have to be developed by the user at the time of writing a program. However the user defined function can become a part of the C program library.
The use of functions in C serves many advantages:
It facilitates top-down modular programming . In this programming style, the high level of the overall problem is solved first while the details of each lower-level function are addressed later.
The length of a source program can be reduced by using functions at a appropriate places.
It is easy to locate and isolate a faulty function for further investigations.
A function may be used by many other programs. This means that a C programmer can build on what others have already done, instead of starting from scratch.
A Multi-Function Program
A function in simple terms can be viewed as a black box which takes in some value (if required) and outputs some result. The internal details of the function are hidden from rest of the program. Every C program can be designed using a collection of these black boxes.
Consider an example as follows:
printf(" Result of displayname function call");
Above function can be used as follows
printf(" This demonstrates user-defined functions");
Output of this program is:
This demonstrates user-defined functions
Result of displayname function call
First the printf statement in the main program is executed. This is followed by the call to the user-defined function displayname(), which results in execution of the statements within the body of the function.
We will continue with the structure of functions and the methods of using function calls in the next article.