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

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

C प्रोग्रामिंग लैंग्वेज में पास बाय रेफरेंस वे एड्रेस होते हैं जिन्हें तर्क के रूप में भेजा जाता है।

एल्गोरिदम

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

START
Step 1: Declare a function with pointer variables that to be called.
Step 2: Declare variables a,b.
Step 3: Enter two variables a,b at runtime.
Step 4: Calling function with pass by reference.
jump to step 6
Step 5: Print the result values a,b.
Step 6: Called function swap having address as arguments.
   i. Declare temp variable
   ii. Temp=*a
   iii. *a=*b
   iv. *b=temp
STOP

उदाहरण कार्यक्रम

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

#include<stdio.h>
void main(){
   void swap(int *,int *);
   int a,b;
   printf("enter 2 numbers");
   scanf("%d%d",&a,&b);
   printf("Before swapping a=%d b=%d",a,b);
   swap(&a, &b);
   printf("after swapping a=%d, b=%d",a,b);
}
void swap(int *a,int *b){
   int t;
   t=*a;
   *a=*b; // *a = (*a + *b) – (*b = * a);
   *b=t;
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

enter 2 numbers 10 20
Before swapping a=10 b=20
After swapping a=20 b=10

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

उदाहरण

संदर्भ द्वारा कॉल का उपयोग करके या संदर्भ द्वारा पास करके प्रत्येक कॉल के लिए 5 से मूल्य बढ़ाने के लिए सी प्रोग्राम निम्नलिखित है।

#include <stdio.h>
void inc(int *num){
   //increment is done
   //on the address where value of num is stored.
   *num = *num+5;
   // return(*num);
}
int main(){
   int a=20,b=30,c=40;
   // passing the address of variable a,b,c
   inc(&a);
   inc(&b);
   inc(&c);
   printf("Value of a is: %d\n", a);
   printf("Value of b is: %d\n", b);
   printf("Value of c is: %d\n", c);
   return 0;
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

Value of a is: 25
Value of b is: 35
Value of c is: 45

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

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

  1. सी भाषा में एक उदाहरण के साथ स्थिरांक क्या हैं?

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

  1. C लैंग्वेज में शिफ्ट ऑपरेशंस क्या हैं?

    समस्या C भाषा का उपयोग करके किसी संख्या के बाएँ, दाएँ पाली और पूरक को दिखाने का सरल कार्यक्रम क्या है? समाधान बायां शिफ़्ट यदि किसी चर के मान को एक बार बाएँ-शिफ्ट किया जाता है, तो उसका मान दुगना हो जाता है। उदाहरण के लिए, a =10, फिर a<<1 =20 राइट शिफ्ट यदि किसी चर का मान एक बार दायाँ-शिफ्ट किय