Notes in Hindi

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

Call by Value एक ऐसा तरीका है जिसमें किसी function को arguments पास करते समय उनकी एक copy भेजी जाती है। function के अंदर किए गए changes main function की original value को affect नहीं करते।
नहीं, Call by Value में original value नहीं बदलती क्योंकि function में उसकी केवल copy पर काम किया जाता है। असली variable सुरक्षित रहता है।
Call by Value के syntax में हम function को argument pass करते हैं जैसे function_name(variable); और function की definition में उसी type का parameter define करते हैं। उदाहरण: void display(int x) { ... }
C language में Call by Value इसलिए use किया जाता है क्योंकि यह simple, सुरक्षित और beginner-friendly होता है। यह accidental changes से data को बचाता है और program को predictable बनाता है।
हाँ, C language में Call by Value default mechanism होता है। इसका मतलब है कि जब भी आप किसी function को variable pass करते हैं, उसकी copy ही pass होती है, न कि actual address या reference।

Please Give Us Feedback