Introduction to Call By Value in Hindi
/ BCA / Programming with C and CPP
Call By Value in C Language
Introduction to Call By Value in Hindi
जब हम C language में किसी function को call करते हैं, तो हम उसमें कुछ values भेजते हैं जिन्हें arguments कहा जाता है। इन arguments को function तक कैसे पहुँचाया जाता है, इसे दो तरीकों से समझा जाता है: Call by Value और Call by Reference। इस लेख में हम Call by Value के बारे में विस्तार से समझेंगे।
Call by Value का मतलब होता है कि जब हम किसी function को call करते हैं, तो actual value की एक copy बनाकर function को दी जाती है। इसका मतलब यह है कि original value में कोई भी बदलाव function के अंदर नहीं होगा। केवल उसकी copy के साथ काम किया जाएगा।
यह तरीका programming में बहुत आम है और C language में default तरीके से Call by Value ही इस्तेमाल होता है। अगर आप function में किसी variable को pass करते हैं, और function के अंदर उसकी value बदलते हैं, तो main program में उस variable की value नहीं बदलेगी।
Syntax and Working of Call By Value in Hindi
Syntax of Call by Value
Call by Value में हम function को इस तरह declare और call करते हैं:
#include <stdio.h>
void change(int x) {
x = x + 10;
printf("Inside function: %d\n", x);
}
int main() {
int a = 5;
change(a);
printf("Outside function: %d\n", a);
return 0;
}
Working of Call by Value
- जब main function में
change(a)call किया जाता है, तोaकी value यानी 5, function को भेजी जाती है। - लेकिन यह value की सिर्फ एक copy होती है।
- Function के अंदर
xमें 10 जोड़ा जाता है, जिससे उसकी value 15 हो जाती है। - लेकिन यह change सिर्फ
xमें हुआ है,aमें नहीं। - इसलिए function से बाहर आने के बाद
aकी value फिर से वही 5 रहती है।
Output
Inside function: 15
Outside function: 5
इससे साफ पता चलता है कि Call by Value में original variable की value नहीं बदलती है।
Characteristics of Call By Value in Hindi
- Copy बनती है: Function में भेजी गई value की सिर्फ एक copy जाती है।
- Original value सुरक्षित रहती है: Function के अंदर की गई कोई भी बदलाव original variable को affect नहीं करता।
- Memory अलग होती है: Function में copy के लिए अलग memory allocate होती है, जिससे दोनों variables independent रहते हैं।
- Simple and secure method: Beginners के लिए Call by Value बहुत आसान होता है क्योंकि इसमें original data सुरक्षित रहता है।
- Default mechanism in C: C language में default तरीके से arguments Call by Value के रूप में पास होते हैं।
- Debugging आसान होती है: क्योंकि actual values नहीं बदलतीं, इसलिए bugs को पकड़ना आसान होता है।
Advantages of Call By Value in C Language in Hindi
- Original data safe रहता है: Function के अंदर चाहे जितने भी बदलाव किए जाएं, actual data की value में कोई बदलाव नहीं आता।
- Function independent रहता है: Function अपनी copy पर काम करता है, इसलिए वो main program से अलग होता है।
- Simple to use: Call by Value को समझना और implement करना बहुत आसान होता है।
- Secure mechanism: किसी भी programmer के लिए यह एक सुरक्षित तरीका है ताकि accidental changes ना हो जाएं।
- Reusability बढ़ती है: एक ही function को अलग-अलग values के साथ बार-बार इस्तेमाल किया जा सकता है।
- Code modular बनता है: Function के अंदर logic isolated रहता है, जिससे code ज़्यादा organized और manageable होता है।
Example to Understand Advantages
#include <stdio.h>
void square(int n) {
n = n * n;
printf("Square inside function: %d\n", n);
}
int main() {
int number = 4;
square(number);
printf("Number in main: %d\n", number);
return 0;
}
Output
Square inside function: 16
Number in main: 4
इस example में आप देख सकते हैं कि function के अंदर square calculate किया गया लेकिन original variable 'number' की value नहीं बदली। यह Call by Value का सबसे बड़ा फायदा है।
Use Cases of Call by Value
- जब आपको function के अंदर केवल calculations करनी हो और original data को intact रखना हो।
- जब आपको छोटे या limited data types (जैसे int, float, char) के साथ काम करना हो।
- जब program को beginner friendly और bug-free बनाना हो।
Difference Table between Call by Value and Call by Reference
| Aspect | Call by Value | Call by Reference |
|---|---|---|
| Data Pass | Copy of data pass होती है | Actual data pass होता है |
| Effect on Original Value | कोई effect नहीं होता | Original value change हो जाती है |
| Memory | Separate memory use करता है | Same memory use करता है |
| Security | ज़्यादा secure होता है | कम secure होता है |
| Use Case | जब value को safe रखना हो | जब value को change करना हो |
FAQs
function_name(variable); और function की definition में उसी type का parameter define करते हैं। उदाहरण: void display(int x) { ... }