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

C भाषा में पास बाय रेफरेंस क्या है?


C प्रोग्रामिंग भाषा में पास बाय रेफरेंस वे पते हैं जिन्हें आर्गुमेंट्स के रूप में भेजा जाता है।

एल्गोरिदम

C भाषा में पास बाय वैल्यू के कामकाज को समझाने के लिए एक एल्गोरिदम नीचे दिया गया है:

शुरुआत
चरण 1: कॉल किए जाने वाले फंक्शन को पॉइंटर वेरिएबल्स के साथ घोषित करें।
चरण 2: वेरिएबल्स a, b घोषित करें।
चरण 3: रनटाइम पर दो वेरिएबल्स a, b दर्ज करें।
चरण 4: पास बाय रेफरेंस के साथ फंक्शन कॉल करें। चरण 6 पर जाएं।
चरण 5: परिणाम मान a, b प्रिंट करें।
चरण 6: कॉल किया गया फंक्शन swap जिसके आर्गुमेंट्स पते हैं।
     i. टेम्प वेरिएबल घोषित करें
     ii. Temp = *a
     iii. *a = *b
     iv. *b = temp
समाप्ति

उदाहरण प्रोग्राम

निम्नलिखित C प्रोग्राम पास बाय रेफरेंस का उपयोग करके दो नंबरों को स्वैप करता है:

#include <stdio.h>

void swap(int *a, int *b) {
    int t;
    t = *a;
    *a = *b;
    *b = t;
}

int main() {
    int a, b;
    printf("2 नंबर दर्ज करें: ");
    scanf("%d%d", &a, &b);
    printf("स्वैपिंग से पहले a=%d b=%d", a, b);
    swap(&a, &b);
    printf("स्वैपिंग के बाद a=%d, b=%d", a, b);
    return 0;
}

आउटपुट

उपरोक्त प्रोग्राम को निष्पादित करने पर निम्नलिखित परिणाम प्राप्त होता है:

2 नंबर दर्ज करें: 10 20
स्वैपिंग से पहले a=10 b=20
स्वैपिंग के बाद a=20 b=10

पास बाय रेफरेंस के बारे में अधिक जानने के लिए एक और उदाहरण लेते हैं।

उदाहरण

निम्नलिखित C प्रोग्राम कॉल बाय रेफरेंस या पास बाय रेफरेंस का उपयोग करके हर कॉल पर मान को 5 से बढ़ाता है।

#include <stdio.h>

void inc(int *num) {
    // उस पते पर इंक्रीमेंट किया जाता है जहां num का मान स्टोर है
    *num = *num + 5;
}

int main() {
    int a = 20, b = 30, c = 40;
    
    // वेरिएबल्स a, b, c के पते पास करना
    inc(&a);
    inc(&b);
    inc(&c);
    
    printf("a का मान है: %d\n", a);
    printf("b का मान है: %d\n", b);
    printf("c का मान है: %d\n", c);
    
    return 0;
}

आउटपुट

उपरोक्त प्रोग्राम को निष्पादित करने पर निम्नलिखित परिणाम प्राप्त होता है:

a का मान है: 25
b का मान है: 35
c का मान है: 45

  1. - जावास्क्रिप्ट में पास बाय वैल्यू और पास बाय रेफरेंस का वर्णन करें?

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

  1. C भाषा में कंस्टेंट क्या हैं और उदाहरण सहित C भाषा में कंस्टेंट क्या हैं और उदाहरण सहित

    कंस्टेंट को उस वेरिएबल के रूप में भी जाना जाता है जहां एक बार परिभाषित होने पर, प्रोग्राम निष्पादन के दौरान मान कभी नहीं बदलता। इस प्रकार, हम एक वेरिएबल को कंस्टेंट के रूप में घोषित कर सकते हैं जो निश्चित मानों को संदर्भित करता है। इसे लिटरल्स भी कहा जाता है। कंस्टेंट को परिभाषित करने के लिए const क

  1. C भाषा में शिफ्ट ऑपरेशन क्या हैं? C भाषा में शिफ्ट ऑपरेशन क्या हैं?

    समस्या C भाषा का उपयोग करके किसी संख्या के बाएं शिफ्ट, दाएं शिफ्ट और कॉम्प्लीमेंट को दिखाने का सरल प्रोग्राम क्या है? समाधान बाएं शिफ्ट (Left Shift) यदि किसी वेरिएबल का मान एक बार बाएं शिफ्ट किया जाता है, तो उसका मान दोगुना हो जाता है। उदाहरण के लिए, a = 10, तो a<<1 = 20 दाएं शिफ्ट (Right Sh