Call By Value And Call By Reference In C In Hindi
Technology Shalu Dogra  

Call By Value And Call By Reference In C In Hindi

आज के इस article में हम call by value and call by reference के बारे में जानेंगे। C प्रोग्राममिंग में ये कैसे use किये जाते हैं।

call by value and call by reference in c

C programming में data को function में pass करने के दो methods होते हैं, इन methods को call by value और call by reference कहा जाता है।

Call by value क्या है?

Call by value method में actual parameters की value को formal parameters में कॉपी किया जाता है। यानी हम कह सकते हैं कि variable की value को function call use किया जाता है उसे Call by value कहा जाता है।

Call by value में हम formal parameter द्वारा actual parameter की value को modify नहीं कर सकते हैं। इसमें, actual और formal parameters के लिए अलग-अलग memory allocate की जाती है क्योंकि actual parameter की value को formal parameters में कॉपी किया जाता है।

Example

#include <stdio.h>

#include <conio.h>
void swap(int , int);
int main()
{
int a = 5;
int b = 10;
printf(“Before swapping the values in main a = %d, b = %d\n”,a,b);
swap(a,b);
printf(“After swapping values in main a = %d, b = %d\n”,a,b);
}
void swap (int a, int b)
{
int temp;
temp = a;
a=b;
b=temp;
printf(“After swapping values in function a = %d, b = %d\n”,a,b);
}

Output

Before swapping the values in main a = 5, b = 10
After swapping values in function a = 10, b = 5
After swapping values in main a = 5, b = 10

Call by reference क्या है?

Call by reference में variable के address को actual parameter के रूप में function call में pass किया जाता है। इसमें Formal parameters को change करके actual parameters की value को modify किया जा सकता है। Call by reference मे, memory allocation formal parameters और actual parameters दोनों के लिए समान होती है।

Example

#include <stdio.h>
void swap(int *, int *);
int main()
{
int a = 2;
int b = 3;
printf(“Before swapping the values in main a = %d, b = %d\n”,a,b);
printf(“After swapping values in main a = %d, b = %d\n”,a,b);
}
void swap (int *a, int *b)
{
int temp;
temp = *a;
*a=*b;
*b=temp;
printf(“After swapping values in function a = %d, b = %d\n”,*a,*b);
}

Output

Before swapping the values in main a = 2, b = 3
After swapping values in function a = 3, b = 2
After swapping values in main a = 3, b = 2

Leave A Comment