Notes in Hindi

Structure as Function Argument in Hindi

/ BCA / Programming with C and CPP

Structure as Function Argument in Hindi

Structure as Function Argument in Hindi

C भाषा में Structure का उपयोग तब किया जाता है जब हमें अलग-अलग प्रकार के डेटा (जैसे int, float, char आदि) को एक साथ संगठित करना होता है। Structure एक ऐसा user-defined डेटा टाइप है जो कई वेरिएबल्स को एक यूनिट में स्टोर करता है। जब हम किसी Function को Structure भेजते हैं, तो हम उसे Function Argument की तरह पास करते हैं। यही प्रक्रिया कहलाती है Structure as Function Argument

What is Structure as Function Argument?

जब कोई पूरा Structure किसी Function को भेजा जाता है, तो इसे हम Structure को Function Argument के रूप में पास करना कहते हैं। यह हमें flexibility देता है कि हम एक ही बार में बहुत सारा डेटा (जो एक Structure के अंदर है) Function में भेज सकें।

Structure को Function में दो तरीकों से भेजा जा सकता है:

  • By Value – Structure की copy भेजी जाती है।
  • By Reference – Structure का address भेजा जाता है।

Passing Structure by Value in Hindi

Structure by Value क्या होता है?

जब हम Structure को किसी Function में by value पास करते हैं, तो इसका मतलब है कि Structure की एक copy Function को दी जाती है। इसका फायदा यह है कि Original Structure सुरक्षित रहता है क्योंकि Function में की गई कोई भी बदलाव केवल उसकी copy में होते हैं।

Structure by Value कैसे काम करता है?

Function कॉल के समय Structure के सभी members की values की copy बनाई जाती है और Function को भेजी जाती है। Function उन copied values पर काम करता है, न कि original values पर।

Code Example:

#include <stdio.h> struct Student { int roll; float marks; }; void display(struct Student s) { printf("Roll Number: %d\n", s.roll); printf("Marks: %.2f\n", s.marks); } int main() { struct Student s1 = {101, 87.5}; display(s1); return 0; }

ऊपर दिए गए प्रोग्राम में, हमने एक Student नाम का Structure बनाया है जिसमें roll और marks हैं। हमने display() नामक Function को Structure की copy भेजी है। इसलिए अगर हम display() में कोई बदलाव करें तो वो s1 पर असर नहीं डालेगा।

By Value के फायदे:

  • Original डेटा सुरक्षित रहता है।
  • Function केवल copy पर काम करता है।

By Value के नुकसान:

  • Memory ज़्यादा consume होती है क्योंकि copy बनती है।
  • बड़े Structure के लिए यह process slow हो सकता है।

Passing Structure by Reference in Hindi

Structure by Reference क्या होता है?

जब हम किसी Structure का address (या pointer) Function को भेजते हैं, तो इसे Structure by Reference कहा जाता है। इस तरीके में Function को Structure की original copy नहीं दी जाती, बल्कि उसका address दिया जाता है, जिससे Function उसी original Structure पर काम करता है।

Structure by Reference कैसे काम करता है?

Function में Structure का pointer भेजा जाता है और उसी pointer का उपयोग करके Structure के members को access किया जाता है। इस method में बदलाव original data पर होता है।

Code Example:

#include <stdio.h> struct Student { int roll; float marks; }; void update(struct Student *s) { s->marks = 95.0; } int main() { struct Student s1 = {101, 87.5}; update(&s1); printf("Updated Marks: %.2f\n", s1.marks); return 0; }

इस उदाहरण में, update() function को Structure का address भेजा गया है। Function ने pointer के माध्यम से marks को update कर दिया, और यह change main function में भी reflect हुआ।

By Reference के फायदे:

  • Memory efficient होता है क्योंकि copy नहीं बनती।
  • Function directly original डेटा को update कर सकता है।

By Reference के नुकसान:

  • Original डेटा modify हो सकता है, जिससे गलती की संभावना बढ़ती है।

Advantages of Structure Arguments in Hindi

Structure को Function में पास करने के फायदे

जब हम Structure को Function के Argument की तरह उपयोग करते हैं, तो यह हमें बेहतर कोड ऑर्गनाइजेशन और मॉड्यूलर प्रोग्रामिंग की सुविधा देता है। नीचे कुछ मुख्य फायदे दिए गए हैं:

1. Multiple Values को एक साथ भेज सकते हैं

  • Structure की मदद से हम एक साथ कई अलग-अलग टाइप के डेटा Function को भेज सकते हैं।
  • इससे Function कॉल आसान हो जाता है और parameters की संख्या कम होती है।

2. कोड Modular और Reusable बनता है

  • Structure Function के अंदर logically bundled डेटा भेजने की सुविधा देता है जिससे कोड modular बनता है।
  • Function को बार-बार reuse किया जा सकता है, सिर्फ Structure भेजकर।

3. Real-world Entity को Represent करना आसान होता है

  • जैसे Student, Employee, Book, Product आदि जैसी चीजों को Structure के रूप में define करके हम उन्हें Function में as a unit भेज सकते हैं।

4. Memory Efficient (By Reference में)

  • Pointer द्वारा Structure भेजने पर memory की बचत होती है क्योंकि copy नहीं बनती।

5. बेहतर Code Readability

  • Structure के जरिए Function को meaningful arguments भेजे जा सकते हैं जिससे कोड पढ़ने और समझने में आसान होता है।

Value vs Reference Table

Feature By Value By Reference
Memory Usage High (copy बनती है) Low (address पास होता है)
Original Data पर Effect नहीं होता होता है
Speed Slow for large structures Fast
Safety Secure (original data safe) Less secure (changes affect real data)

इस तरह Structure को Function Argument के रूप में इस्तेमाल करना C भाषा को अधिक logical और structured बनाता है। Beginners को शुरुआत में By Value और By Reference में फर्क अच्छे से समझना चाहिए ताकि आगे चलकर real-world programs में इन्हें ठीक से इस्तेमाल कर सकें।

FAQs

जब हम किसी Structure को किसी Function को parameter की तरह भेजते हैं, तो उसे Structure as Function Argument कहा जाता है। इससे हम एक साथ कई values एक function में भेज सकते हैं।
जब Structure को Function में उसकी copy के रूप में भेजा जाता है, तो उसे By Value कहा जाता है। Function द्वारा किया गया कोई भी बदलाव Original Structure को प्रभावित नहीं करता।
जब Structure को Function में pointer या address के रूप में भेजा जाता है, तो उसे By Reference कहा जाता है। इस method से Function के अंदर किया गया बदलाव Original Structure पर प्रभाव डालता है।
Structure by Reference से memory की बचत होती है क्योंकि copy नहीं बनती और Function directly Original Structure को modify कर सकता है। यह large structures के लिए efficient होता है।
अगर आप Original Data को सुरक्षित रखना चाहते हैं तो By Value बेहतर है, लेकिन अगर आप memory efficiency और direct update चाहते हैं तो By Reference उपयोगी होता है। दोनों के अपने फायदे और नुकसान होते हैं।

Please Give Us Feedback