Calling functions in C++
// function example
#include <iostream>
using namespace std;
int addition (int a, int b)
{
int r;
r=a+b;
return r;
}
int main ()
{
int z;
z = addition (5,3);
cout << "The result is " << z;
}
This program is divided in two functions: addition
and main
. Remember that no matter the order in which they are defined, a C++ program always starts by calling main
. In fact, main
is the only function called automatically, and the code in any other function is only executed if its function is called from main
(directly or indirectly).
In the example above, main
begins by declaring the variable z
of type int
, and right after that, it performs the first function call: it calls addition
. The call to a function follows a structure very similar to its declaration. In the example above, the call to addition
can be compared to its definition just a few lines earlier:
The parameters in the function declaration have a clear correspondence to the arguments passed in the function call. The call passes two values, 5
and 3
, to the function; these correspond to the parameters a
and b
, declared for functionaddition
.
At the point at which the function is called from within main, the control is passed to function addition
: here, execution of main
is stopped, and will only resume once the addition
function ends. At the moment of the function call, the value of both arguments (5
and 3
) are copied to the local variables int a
and int b
within the function.
Then, inside addition
, another local variable is declared (int r
), and by means of the expression r=a+b
, the result of a
plus b
is assigned to r
; which, for this case, where a
is 5 and b
is 3, means that 8 is assigned to r
.
Mastery 11 by Mauricio Cooper is licensed under a Creative Commons Attribution 4.0 International License.