passing arguments to function in c++ in hindi

इस page में, हम C ++ में parameter passing method का उपयोग करके 3 तरीके से Parameter पास करेंगे, जो निम्न हैं,

call by value in C++ in hindi

इसमें, calling function के parameters की values को function – definition के parameters में declared variable में copy किया जाता है यानी actual parameter के values को formal parameter में copy होती है-

call-by-value-cpp-hindi

function definition में  केवल formal parameters द्वारा copy किए गए actual parameters (actual value ) के values का use होता है।

एक तरह से, function definition में duplicate values होते हैं। इसलिए भले ही दोनों parameters में declared variable -name एक जैसे हों फिर भी formal parameter की values change होने पर actual parameter की value में कोई बदलाव नहीं होता है।

void value(int,int); // function declaration
    .................
    .................

 value(x,y); // call by reference

 void value (int x, int y) // function definition 
   { 
      ............ 
      ............
   }

इसका program नीचे दिया गया है –

#include<iostream.h>
#include<conio.h>

void value(int,int);  // function declaration

void main()
 {
   clrscr();
   int x,y;                   // variable declaration

   cout<<"Enter two number: ";
   cin>>x>>y;
  
    cout<<"\nFirst number : "<<x;
   cout<<"\nSecond number: "<<y;

   value(x,y);                 // call by value

   cout<<"\nafter call by value";
   cout<<"\nFirst number : "<<x;
   cout<<"\nSecond number: "<<y;

  getch();
}

  void value (int x, int y)         // function definition
   {
      int z;
        z = x;
        x = y;
        y = z;
   }

OUTPUT

Enter two number: 2 3 

First number : 2
Second number: 3

after call by value
First number : 2
Second number: 3

call by reference in C++ in hindi

इसमें, formal parameter में reference variable होते हैं, जो actual parameter का reference होते हैं जिनका different variable name होता है। यहाँ पर call by value की तरह ही,  actual parameter की values formal parameter में copy होती हैं।

call-by-reference-cpp-in hindiपरन्तु जब formal parameter के values में परिवर्तन होता है , तो actual parameter की value भी बदल जाती है।

void value(int&,int&); // function declaration 
    .................
    .................

 value(x,y); // call by reference 

 void value (int &a, int &b) // function definition
   { 
      ............
      ............
   }

इसका program नीचे दिया गया है-

#include<iostream.h>
#include<conio.h>

void main()
 {
   clrscr();
   int x,y;                 // variable declaration

   void value(int&,int&);           // function declaration

   cout<<"Enter two number: ";
   cin>>x>>y;

   cout<<"\nFirst number : "<<x;
   cout<<"\nSecond number: "<<y;

   value(x,y);                   // call by reference

   cout<<"\nafter call by reference";
   cout<<"\nFirst number : "<<x;
   cout<<"\nSecond number: "<<y;
  
  getch(); 
 }

 void value (int &a, int &b)   // function definition
  {
      int c;
       c = a;
       a = b;
       b = c;
  }

OUTPUT

Enter two number: 2 3 
First number : 2
Second number: 3

after call by reference
First number : 3
Second number: 2

call by pointer in C++ in hindi

parameter passing का यह method अन्य दो से अलग है। इसे समझने के लिए, pointer को समझना आवश्यक है। इस method में, function definition में values का memory address pass होता है,

call-by-pointer-cpp-in hindi

जैसा कि हम जानते हैं कि हम एक pointer variable का उपयोग करते हुए हम किसी values के memory address को access कर सकते हैं। इसलिए function definition में formal parameters , pointer variables होते हैं जो actual parameter का address access करते हैं। इस तरह function definition में values का memory address pass होता है,

इसमें भी, जब call by reference की तरह , formal parameter की values बदलने पर actual parameter की value भी बदल जाती है।

void value(int*,int*); // function declaration 
    ................. 
    ................. 

 value(&x,&y); // call by reference 

 void value (int *a, int *b) // function definition 
  { 
     ............ 
     ............ 
  }

इसका program नीचे दिया गया है-

#include<iostream.h>
#include<conio.h>

 void main()
  {
     clrscr();
     int x,y;                  // variable declaration

     void value(int*,int*);           // function declaration

     cout<<"Enter two number: ";
     cin>>x>>y;

     cout<<"\nFirst number : "<<x;
     cout<<"\nSecond number: "<<y;

     value(&x,&y);                  // call by pointer

     cout<<"\nafter call by pointer";
     cout<<"\nFirst number : "<<x;
     cout<<"\nSecond number: "<<y;
   
    getch();
  }

  void value (int *a, int *b)        // function definition   
   {
      int c;
        c  = *a;
        *a = *b;
        *b = c;
   }

OUTPUT

Enter two number: 2 3
 First number : 2
Second number: 3 

after call by pointer
First number : 3
 Second number: 2

इस प्रकार हम एक parameter passing से function definition में values को pass करते हैं।

Things to know

call by value और call by reference के बीच एकमात्र अंतर यह है कि जहां call by value में parameters name (actual और formal parameter में ) same होता है वहीं call by value में parameters name different होंगे।

previous – Function and their type in C++ Hindi

next-  String library function and theirs examples

Leave a Reply

Your email address will not be published. Required fields are marked *