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 किया जाता है। |