Example of Pass by Reference

In the below program, the arguments that are passed by reference will be swapped with each other.

C




// C program to swap two numbers
#include <stdio.h>
 
// function definition with relevant pointers to recieve the
// parameters
void swap(int* a, int* b)
{
    // accessing arguments like pointers
    int temp = *a;
    *a = *b;
    *b = temp;
}
 
// driver code
int main(void)
{
    int n1 = 5;
    int n2 = 10;
 
    // value before swapping
    printf(" Before swapping : n1 is %d and n2 is %d\n", n1,
           n2);
    // calling the function by passing the address of the
    // arguments
    swap(&n1, &n2);
 
    // value after swapping
    printf(" After swapping : n1 is %d and n2 is %d\n", n1,
           n2);
   
    return 0;
}


Output

 Before swapping : n1 is 5 and n2 is 10
 After swapping : n1 is 10 and n2 is 5

Explanation

In the above code, n1 and n2 are assigned by the values 5 and 10. When the swap function is called and the address of n1, and n2 are passed as a parameter to the function, then the changes made to the n1 and n2 in the swap function will also reflect in the main function. The swap function will directly access and change the values of n1, and n2 using their addresses. So, after execution of the swap function, the values of n1 and n2 are swapped.

Pass By Reference In C

Passing by reference is a technique for passing parameters to a function. It is also known as call by reference, call by pointers, and pass by pointers. In this article, we will discuss this technique and how to implement it in our C program.

Similar Reads

Pass By Reference in C

In this method, the address of an argument is passed to the function instead of the argument itself during the function call. Due to this, any changes made in the function will be reflected in the original arguments. We use the address operator (&) and indirection operator (*) to provide an argument to a function via reference....

Example of Pass by Reference

In the below program, the arguments that are passed by reference will be swapped with each other....

Points to Remember

...

Applications

When calling a function by reference, the actual parameter is the address of the variable that is being called. Since the address of the actual parameters is passed, the value of the actual parameters can be altered. Changes performed inside the function remain valid outside of it. By altering the formal parameters, the values of the real parameters actually change. Both actual and formal parameters refer to the same memory location....

Conclusion

The pass-by-reference method is used when we want to pass a large amount of data to avoid unnecessary memory and time consumption for copying the parameters. It is used where we want to modify the actual parameters from the function. It is used to pass arrays and strings to the function....