C प्रोग्रामिंग लैंग्वेज में, function को दो तरीकों से से call किया जा सकता है। पहला call by value और दूसरा call by reference।

call by value and call by reference in c in hindi

Call By Value in C 

  • Call by Value मेथड में, actual parameters की value को फंक्शन के formal parameters में copy किया जाता है।
  • दूसरे शब्दों में कहें तो, “इसमें variable की value का प्रयोग function call में प्रयोग किया जाता है।”
  • Call by value मेथड में, हम formal parameters के द्वारा actual parameter की value को बदल नहीं सकते।
  • इसमें, actual और formal parameters अलग-अलग memory location में स्टोर रहते हैं।
  • actual parameter एक ऐसा argument है जिसे function call में प्रयोग किया जाता है जबकि formal parameter एक ऐसा argument है जिसे function definition में प्रयोग किया जाता है।

इसका Example –

इसका program नीचे दिया गया है:-

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

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

void main() 
{  
 int x = 50, y = 70;  
 clrscr();  
 swap(x, y);  // passing value to function
 printf("\nValue of x: %d",x);
 printf("\nValue of y: %d",y);
 getch();  
}  

इसका आउटपुट –
Value of x: 50
Value of y: 70

Call By Reference in C

  • Call by reference में, एक argument के address को formal parameters में copy किया जाता है।
  • दूसरे शब्दों में कहें तो, “इसमें variable के address को actual parameter की तरह function call में pass किया जाता है।”
  • इसमें अगर हम formal parameter की value को change करते है तो actual parameter की value भी change हो जाएगी।
  • call by reference में, दोनों actual और formal parameters एक ही memory location में स्टोर रहते हैं।

इसका उदाहरण –

इसका program नीचे दिया गया है:-

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

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

void main() 
{  
 int x = 50, y = 70;  
 clrscr();  
 swap(&x, &y);  // passing value to function
 printf("\nValue of x: %d",x);
 printf("\nValue of y: %d",y);
 getch();  
}  

इसका आउटपुट –
Value of x: 70
Value of y: 50

  • String in C in Hindi
  • Header files in C in Hindi

Difference between Call by Value and Call by Reference in Hindi 

इनके मध्य अंतर निम्नलिखित हैं:-

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

Leave a Reply