The term function means an assemblage of statements used for computing an output value. The word is used less strictly than in mathematics, where it means a set relating input variables uniquely to output variables. Functions in C or C++ programs may not produce consistent outputs for all inputs, may not produce output at all, or may have side effects. Functions can be understood as user-defined operations, in which the parameters of the parameter list, if any, are the operands.
Functions fall into two categories: those written by you and those provided with the C language implementation. The latter are called library functions, since they belong to the library of functions supplied with the compiler.
The result of a function is called its return value. The data type of the return value is called the return type. A function identifier preceded by its return type and followed by its parameter list is called a function declaration or function prototype. The term function body refers to the statements that represent the actions that the function performs. The body of a function is enclosed in braces, which creates what is called a function block. The function return type, followed by its name, parameter list, and body constitute the function definition.
The function name followed by the function call operator, (), causes evaluation of the function. If the function has been defined to receive parameters, the values that are to be sent into the function are listed inside the parentheses of the function call operator. These values are the arguments for the parameters, and the process just described is called passing arguments to the function.