Colour Theme Font Size Options
 
 
 
Pass By Value

CS110 Lab: C++ Function with Value-parameters

A variable declared in the heading of a function is called a parameter, also called a formal argument or a formal parameter. A variable or expression included in the call to a function is referred to as an argument, also known as an actual argument or actual parameter. Please read the following for further information:

  • A parameter is a value parameter if its data type does not end with an ampersand (&).
  • There must be the same number of arguments in a function call as there are parameters in the heading of the function.
  • Each argument should have the same data type as the parameter in the same position.
  • When the function is called, a copy of the value of the argument is passed to the function. Therefore, the caller argument cannot be accessed directly or changed.
  • When the function returns, the contents of its value parameters are destroyed, along with the local variables.
  • The difference between value parameters and local variables is that the values of local variables are undefined when a function starts to execute, whereas value parameters are automatically initialized to the values of corresponding arguments.

Example


In the above example, the heading of printStars() function is void printStars(int numOfStars).

The parameter numOfStars is a value parameter because its data type int does not end with an ampersand ( & ). When it is called using the argument num_stars, i.e. printStars(num_stars);, then parameter numOfStars receives a copy of the value of num_stars.

While the function runs there are two copies of the data: one in the argument num_stars and one in the parameter numOfStars. If a statement inside the function printStars() were to change the value of numOfStars, this change would not affect the argument num_stars.