Why my age and My name variables values didnt change?

When Test3 function is called and all the values are passed, the value of my age was 30 and my name was C which were passed, then in the main function these values were changed. But then why these values didnt change when the output was printed.

this is the difeerence between passs by value and reference. Pass by value means that a copy of the actual parameter’s value is made in memory, i.e. the caller and callee have two independent variables with the same value. If the callee modifies the parameter value, the effect is not visible to the caller. 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. If the callee modifies the parameter variable, the effect is visible to the caller’s variable.