Call by reference

Call by reference in C

  • In call by reference, original value is modified because we pass reference (address).
  • Here, address of the value is passed in the function, so actual and formal arguments shares the same address space. Hence, value changed inside the function, is reflected inside as well as outside the function.

Call by Reference

Note: To understand the call by reference, you must have the basic knowledge of pointers.
  • Let's try to understand the concept of call by reference in c language by the example given below:
#include <stdio.h>  
#include <conio.h>  
void change(int *num) {  
    printf("Before adding value inside function num=%d \n",*num);  
    (*num) += 100;  
    printf("After adding value inside function num=%d \n", *num);  
}  
int main() {  
    int x=100;  
    clrscr();  
  
    printf("Before function call x=%d \n", x);  
    change(&x);//passing reference in function  
    printf("After function call x=%d \n", x);  
  
    getch();  
    return 0;  
}  

Output

Before function call x=100
Before adding value inside function num=100
After adding value inside function num=200
After function call x=200

Post a Comment

Previous Post Next Post