It is a way of passing arguments to a function so that it copies the actual value of an argument into the formal parameter of the function.
So that any changes which are made to the parameter inside the function do not affect the argument.
C language by default uses Call by value.