In C language, functions can be invoked in two ways: Call by value and Call by reference. The values commonly differentiate them, which are passed to them as parameters. When we call a function and pass values of variables as the parameters to that function, such calls are called call-by values. And when we call a function by the address of actual variables as parameters to that function, it is called call by reference. In a call by value, the changes made to the values do not affect the variables, whereas, in a call by reference, the actual variables get affected.