हेल्लो दोस्तों! आज हम इस post में Call by Value & Call by Reference in C in Hindi के बारें में पूरे विस्तार से पढेंगे और इनके मध्य difference को भी देखेंगे. आप इसे पूरा पढ़िए, आपको यह आसानी से समझ में आ जायेगा. तो चलिए शुरू करते हैं:-
टॉपिक
Call by Value & Call by Reference in C in Hindi
C प्रोग्रामिंग लैंग्वेज में, function को दो तरीकों से से call किया जा सकता है. पहला call by value और दूसरा call by reference.

Call By Value in C in Hindi
- 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 in Hindi
- 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
इसे पढ़ें:-
Difference between Call by Value and Call by Reference in Hindi
इनके मध्य अंतर निम्नलिखित हैं:-
Call By Value | Call 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 किया जाता है. |
References:- https://www.javatpoint.com/call-by-value-and-call-by-reference-in-c
नीचे आप इसकी YouTube video भी देख सकते हैं:-
निवेदन:- अगर आपके लिए यह आर्टिकल उपयोगी रहा हो तो इसे अपने friends और classmates के साथ अवश्य share कीजिये. और आपके जो भी questions है उन्हें नीचे comment करके बताइए.
अगर आपका कोई सुझाव है तो उसे भी आप बता सकते है. keep learning keep visiting…
Very nice different