What is the difference between pass by reference and pass by address?
Pass by reference (also called pass by address) means to pass the reference of an argument in the calling function to the corresponding formal parameter of the called function so that a copy of the address of the actual parameter is made in memory, i.e. the caller and the callee use the same variable for the parameter.
What is the difference between call by value and reference?
In Call by value method original value is not modified whereas, in Call by reference method, the original value is modified. In Call by value, a copy of the variable is passed whereas in Call by reference, a variable itself is passed.