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 <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=100Before adding value inside function num=100
After adding value inside function num=200
After function call x=200