No other reason, because if passed by pointer, the writing method would be too ugly. Pointer value transfer is compared to the transfer of actual parameters and formal parameters, and the value of the address is transferred.
Passing a pointer does not cause an infinite loop problem, but you have to implement the compiler yourself so that it knows when a copy operation occurs to call the function you wrote to pass the pointer. The pointer itself is a variable, but its value is the address of another variable, so passing a pointer is also passing by value.
No other reason, because if passed by pointer, the writing method would be too ugly.
Pointer value transfer is compared to the transfer of actual parameters and formal parameters, and the value of the address is transferred.
Passing a pointer does not cause an infinite loop problem, but you have to implement the compiler yourself so that it knows when a copy operation occurs to call the function you wrote to pass the pointer.
The pointer itself is a variable, but its value is the address of another variable, so passing a pointer is also passing by value.
It is recommended to refer to the difference between deep copy and shallow copy