Call By Value and Call By Reference

Call By Value and Call By Reference:-





Call by Value :-

जब हम function को call करते समय, variable की value को pass करते हैं तो ऐसे functions को call by value कहते है।

Call By Value Example:-

#include<stdio.h>
#include<conio.h>

void swap(int x, int y)
{
int temp;
temp = x;
x = y;
y = temp;
}

void main()
{
int x = 111, y = 222;
clrscr();
swap(x, y); // passing value to function
printf(“\nValue of x: %d”,x);
printf(“\nValue of y: %d”,y);
getch();
}

Output आउटपुट –
Value of x: 111
Value of y: 222

Call by Reference:-

जब हम function को call करते समय, variable के address को pass करते हैं तो ऐसे functions को call by reference कहते हैं।

Call by Reference Example:-

#include<stdio.h>
#include<conio.h>

void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}

void main()
{
int x = 111, y = 222;
clrscr();
swap(&x, &y); // passing value to function
printf(“\nValue of x: %d”,x);
printf(“\nValue of y: %d”,y);
getch();
}
Output आउटपुट –
Value of x: 111
Value of y: 222

Difference Between Call by Value and Call by Reference
Call By Value (कॉल बाय वैल्यू)
Call By Reference (कॉल बाय रेफेरेंस )
जब हम function को call करते समय, variable की value को pass करते हैं तो ऐसे functions को call by value कहते है। जब हम function को call करते समय, variable के address को pass करते हैं तो ऐसे functions को call by reference कहते हैं।
Call By Value में अगर हम variable की copy को change कर दे तो variable की original value नहीं बदलती है। value वही रहती है । Call By Reference में variable की value बदल दें तो function के बाहर variable की value भी बदल जाएगी ।
Call By Value  में actual और formal parameters दोनों अलग-अलग मैमोरी लोकेशन में store रहते है। Call By Reference में actual और formal parameters एक ही मैमोरी लोकेशन में स्टोर रहते है।
Call By Value में variables की values को easy technology के द्वारा pass किया जाता है। Call By Reference में variables के address को स्टोर करने के लिए pointer variable की आवश्यकता होती है।
Call By Value में हम function call के द्वारा वास्तविक variable की value को बदल नहीं सकते। Call By Reference में हम function call के द्वारा वास्तविक variable की Value को बदल सकते हैं।
Call By Value  C++, PHP, Visual Basic NET, और C# के द्वारा support किया जाता है। Call By Reference  Java के द्वारा support किया जाता है।

 

Spread the love

Leave a Comment