C Programming Code Examples C > Functions Code Examples Types of functions in C programming language Types of functions in C programming language 1) Predefined standard library functions - such as puts(), gets(), printf(), scanf() etc - These are the functions which already have a definition in header files (.h files like stdio.h), so we just call them whenever there is a need to use them. 2) User Defined functions - The functions that we create in a program are known as user defined functions. return_type: Return type can be of any data type such as int, double, char, void, short etc. Don't worry you will understand these terms better once you go through the examples below. function_name: It can be anything, however it is advised to have a meaningful name for the functions so that it would be easy to understand the purpose of function just by seeing it's name. argument list: Argument list contains variables names along with their data types. These arguments are kind of inputs for the function. For example - A function which is used to add two integer variables, will be having two integer argument. Block of code: Set of C statements, which will be executed whenever a call will be made to the function. 1) Function - Call by value method - In the call by value method the actual arguments are copied to the formal arguments, hence any operation performed by function on arguments doesn't affect actual parameters. 2) Function - Call by reference method - Unlike call by value, in this method, address of actual arguments (or parameters) is passed to the formal parameters, which means any operation performed on formal parameters affects the value of actual parameters.