In the case of Call by Value, when we pass the parameter value during the function’s call, it transfers it to the function’s actual local argument. When we send the parameter’s location reference/address to Call by Reference, it copies and assigns them to the function’s local argument.
Vishalini.R Answered question June 28, 2023

In this programming language to call a function we have 2 methods: Call by Value and Call by Reference
Call by Value
Call by Reference
A copy of a variable is passed. A variable itself is passed fundamentally.
Calling a function by sending the values by copying variables. Calling a function by sending the address of the passed variable.
The changes made in the function are never reflected outside the function on the variable. In short, the original value is never altered in Call by Value. The changes made in the functions can be seen outside the function on the passed function. In short, the original value is altered in Call by reference.
Passed actual and formal parameters are stored in different memory locations. Therefore, making Call by Value a little memory insufficient Passed actual and formal parameters are stored in the same memory location. Therefore, making Call by Reference a little more memory efficient