Call by value

Call by value

  • There are two ways to pass value or data to function in C language: call by value and call by reference
  • Original value is not modified in call by value but it is modified in call by reference.
Call by value & call by reference

  • Let's understand call by value and call by reference in c language one by one.

Call by value in C

  • In call by value, original value is not modified.
  • In call by value, value being passed to the function is locally stored by the function parameter in stack memory location. 
  • If you change the value of function parameter, it is changed for the current function only. It will not change the value of variable inside the caller method such as main().
  • Let's try to understand the concept of call by value 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=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 value 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=100

Post a Comment

Previous Post Next Post