Tutorial Pass By Reference Vs Pass By Value


Well-Known Member
Here is a simple explanation of Pass by Reference and Pass by Value:

Pass by Reference or simply called Pass by Address it is just the copy of the address (location) of the actual parameter is stored. It is used when you are changing the parameter passed in by the client system.

Pass by Value is you are creating a copy in memory of the actual parameter's value that is passed in, a copy of the contents of the actual parameter. Use Pass by Value when your only "using" the parameter just for computations and not really changing it for the client program.

steve taylor

White Belt
Great explanation of pass by value and pass by address.

  • In pass by value we pass the actual value of the variable to the function . It does not affect the original value of the calling function only changes done on local variable belongs to the function .
  • In the pass by address we pass the address of the variable to the function hence the modification done on the original variable.

Manish Mishra

Content Writer
In real world these often known as call by value and call by reference. This is one of the important features involved in C programming. When the memory locations is shared it is call by reference and when the value of the address is shared it is call by value that passes value only.


White Belt
In the pass by reference parameter passing method if modification is done then original value are affected because in pass by reference method we pass the address of the variable.
Where as in the pass by value parameter passing method if modification is done then it only affects the local variable, original value remains unchanged.Because in this parameter passing method we pass the value of the variable.


Content Writer
In java, they are again define in three ways i.e Call by value , call by pointers , Call by reference.
Call by value is the same i.e calling function while giving values of address as an input value to function.
Call by pointer is same as call by reference in C i.e calling by passing address to the function.
Call by reference is new way in java in which the another memory space is assigned to the original address with same value and that is assigned to the function as input and any change done in that address will not reflect back to original address

Prasoon Arora

White Belt
Call by value and Call by reference are most common feature that is used in C or C++ programming. These are the methods to call the value to be used in functions.

The basic difference in both functions is that in call by value , the original value can not be changed however, in call by reference the original value can be changed.