User-defined Functions
All C++ programs must contain at least one function, which is the main( ).
Functions must be assigned a name. Similar to variables, each function is given a valid identifier name.
A function name must be followed by parentheses( ).
The characteristics of user-defined functions are:
1. A function name must be unique
2. A function performs a specific task
3. A function is independent
4. A function may receive and return values to the calling function
Function Element
Function prototype/declaration
Function definition
Function call
Function Declaration/Prototype
To make programs more readable, C++ programmers usually insert functions after the main function.
If the function is placed after the main function, the function declaration, also known as function prototype, is required and should be placed on top of the program above the main function.
Similar to declaring variables, the purpose of prototyping or declaring functions is to notify the compiler on the existence of the function, thus memory will be allocated to store the function.
If a function definition is placed below the function main and is not prototyped, an error will occur.
A function prototype can be written according to the following form:
function_type function_name (parameter list);
function_type is any data type such as int, double, float, char or void
function_name is any identifier name as the name must follow the rules in naming identifiers.
parameter list is any data type which belongs to variables or constants that is passed to the function.
Similar to statements, a function declaration/prototype must end with a semicolon(;).
Function Definition
A function is a sub program which can perform specific tasks.
Function definition will not be used if it is not called by the function call.
To write a function definition, below is the correct form:
function_type function_name (formal parameter list)
{
function_body
}
function type is any data type such as int, double, float, char or void.
function_name is any identifier name as the name must follow the rules in naming identifiers
parameter list is any data type and identifier name that is being passed to the function
A parameter list in a function definition is known as formal parameter list.
If there is more than one parameter list, separate them with commas (,).
function_body is enclosed in braces and composed of executable statements such as input, process and output.
A function definition which starts with the function type int, double, float and char must return its value to the function call, whereas if it starts with function type void, the function does not have to return a value.
Function Call
All function definitions must be called so that they can be useful.
A function definition which is not called does not have the ability to perform its task.
A function definition in a program can be called by any other functions including the main function.
When calling a function, follow the form below:
function_name (actual parameter list);
function_name is any identifier name as the name must follow the rules in naming identifiers.
parameter list is any identifier name or value that is being passed to the function.
A parameter list in a function call is known as an actual parameter list. If there is more than one parameter list, separate them with commas (,).
Types of Variable and Their Scope
Function with Return Statement
A function which type is int, char, double or float must return values to the function call.
A function can only return one value at a time.
The syntax to return a value is:
return expression;
an expression can be in the form of values that match with their type of identifiers.
Function without Return Statement (cont.)
A function which starts with the word void in front does not have to return a value to the function call.
However, this function can have the word return in it but the purpose is only to stop function execution and does not return any value.
Any statement after return will not be executed.
Parameter Passing
If a global variable is not used in a program, the variable needs to be declared as a local variable.
Parameter passing must be done to pass the variables to the function.
In parameter passing, the parameter data type needs to be written in the parameter list in the function declaration/prototype and it needs to be declared in the function definition.
However, in the function call, the parameter which passed the parameter to the function definition must only pass the value or identifier name.
Three important things about parameters:
The number of actual parameters and formal parameters must both be the same in the function call and function definition.
The relationship between the actual parameter and formal parameter is one-to-one. First, the actual parameter must be the same with the first formal parameter.
The data type for every actual parameter must the same as the formal parameter or type that can be changed by the compiler.
Conclusion
Functions can divide problems into sub-problems.
In order to develop programs using functions, the three function elements needed to be identified are function prototype/declaration, function call and function definition.
Writing programs using functions provide many advantages as functions can break a program into smaller items which will be easier for the programmer to code, test and debug.
Each of the functions is reusable where the function can be called many times.
Repeating code in a program can be avoided.
Comments
Post a Comment