Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C/C++ में पैरामीटर पासिंग तकनीकें


C और C++ में फंक्शन को आर्गुमेंट्स पास करने के मुख्य तरीके हैं:

1. कॉल बाय वैल्यू (Call by Value)

आर्गुमेंट की कॉपी फंक्शन को पास होती है। फंक्शन में बदलाव मूल वेरिएबल को प्रभावित नहीं करते।

उदाहरण

#include <iostream>
using namespace std;

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

int main() {
    int a = 10, b = 40;
    cout << "(a,b) = (" << a << ", " << b << ")\n";
    my_swap(a, b);
    cout << "(a,b) = (" << a << ", " << b << ")\n";
    return 0;
}

आउटपुट

(a,b) = (10, 40)
(a,b) = (10, 40)

2. कॉल बाय एड्रेस (Call by Address / Pointer)

वेरिएबल का एड्रेस पास किया जाता है। फंक्शन पॉइंटर के माध्यम से मूल मान बदल सकता है।

उदाहरण

#include <iostream>
using namespace std;

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

int main() {
    int a = 10, b = 40;
    cout << "(a,b) = (" << a << ", " << b << ")\n";
    my_swap(&a, &b);
    cout << "(a,b) = (" << a << ", " << b << ")\n";
    return 0;
}

आउटपुट

(a,b) = (10, 40)
(a,b) = (40, 10)

3. कॉल बाय रेफरेंस (Call by Reference) - केवल C++

रेफरेंस वेरिएबल (&) पास किया जाता है। सिंटैक्स सरल है, पॉइंटर की आवश्यकता नहीं।

उदाहरण

#include <iostream>
using namespace std;

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

int main() {
    int a = 10, b = 40;
    cout << "(a,b) = (" << a << ", " << b << ")\n";
    my_swap(a, b);
    cout << "(a,b) = (" << a << ", " << b << ")\n";
    return 0;
}

आउटपुट

(a,b) = (10, 40)
(a,b) = (40, 10)

तुलना तालिका

विशेषताकॉल बाय वैल्यूकॉल बाय एड्रेसकॉल बाय रेफरेंस
मूल मान बदलता है?नहींहाँहाँ
सिंटैक्ससरलपॉइंटर उपयोग& चिह्न उपयोग
उपलब्धताC, C++C, C++केवल C++
NULL पास कर सकते हैं?नहींहाँनहीं (रेफरेंस NULL नहीं हो सकता)
  1. - C/C++ में putwchar() फंक्शन

    इस लेख में हम C++ STL में putwchar() फंक्शन के कार्य, सिंटैक्स और उदाहरणों पर चर्चा करेंगे। putwchar() क्या है? putwchar() फंक्शन C++ STL में एक इनबिल्ट फंक्शन है, जो हेडर फाइल में परिभाषित है। putwchar() फंक्शन का उपयोग स्टैंडर्ड आउटपुट डिवाइस पर वाइड कैरेक्टर लिखने के लिए किया जाता है। यह फंक्शन

  1. - C/C++ में memcpy() फंक्शन

    इस लेख में हम C++ STL में memcpy() फंक्शन के कार्य, सिंटैक्स और उदाहरणों पर चर्चा करेंगे। memcpy() क्या है? memcpy() फंक्शन C++ STL में एक इनबिल्ट फंक्शन है, जो हेडर फाइल में परिभाषित है। memcpy() फंक्शन का उपयोग मेमोरी के ब्लॉक्स को कॉपी करने के लिए किया जाता है। इस फंक्शन का उपयोग एक मेमोरी लोकेश

  1. C/C++ में AA ट्रीज C/C++ में AA ट्रीज

    कंप्यूटर साइंस में AA ट्री को संतुलित ट्री के एक रूप के रूप में परिभाषित किया गया है जिसे क्रमबद्ध डेटा को कुशलतापूर्वक स्टोर और पुनर्प्राप्त करने के लिए लागू किया जाता है। AA ट्रीज को रेड-ब्लैक ट्री के एक रूपांतर के रूप में माना जाता है, एक प्रकार का बाइनरी सर्च ट्री जो प्रविष्टियों के कुशल जोड़ और