Pointer to Pointer in C++ Hindi

जैसा कि हम जानते हैं, एक pointer-variable दूसरे variable के address को store करता है। इसमें एक pointer -variable जो पहले से ही किसी दूसरे साधारण variable के address को store करता है, दूसरा pointer-variable इस pointer -variable के address को store करता है।

कहने का मतलब है कि एक इसमें हम एक pointer -variable का address किसी दूसरे pointer variable में store/access करते हैं।

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

data type **pointer-variable;

Example

int **ptr;

How to access a pointer address in C++?

सबसे पहले, हम एक pointer -variable को declare करते हैं,

int *ptr1;

फिर एक pointer-to-pointer variable declare करते हैं –

int **ptr2;

इसके बाद pointer variable ptr1 को pointer-variable ptr2 में assign करते हैं-

ptr2 = &ptr1;

चलिए इसे नीचे दिए program की सहायता से समझते हैं।

access Pointer variable address using another pointer variable

Program में, x variable का address एक pointer variable ptr1 में store किया जाता है, जबकि इसpointer-variable ptr1 का address किसी अन्य pointer-variable ptr2 में store किया जाता है।

जब यह program execute होता है, तो ptr1 variable x का address print करेगा। इसके बाद, इस pointer ptr1 का address , एक अन्य pointer ptr2 द्वारा print होगा-

#include<iostream.h>
#include<conio.h>
void main()
{
   int x=6;
   int *ptr1,**ptr2;

   ptr1 = &x; 
   ptr2 = &ptr1;

   clrscr();

   cout<<"Values are:\n";
   cout<<"ptr1: "<<*ptr1<<" "<<**ptr2<<endl;

   cout<<"\nAddress of:\n";

   cout<<"*ptr2: "<<*ptr2<<endl;
   cout<<"ptr1: "<<ptr1<<endl;
   cout<<"ptr2: "<<ptr2;

 getch();
}

OUTPUT

ptr1: 6 6
Address of:

*ptr2: 0x8f2bfff2
ptr1: 0x8f2bfff2
ptr2: 0x8f2bfff0

Explanation

जैसा कि आप देख सकते हैं *ptr2 और ptr1 दोनों का output एक जैसा ही है , ऐसा इसलिए है क्योंकि ptr1, variable x का address print कर रहा है। लेकिन *ptr2 ptr1 में store value प्रदर्शित कर रहा है जो कि variable x का address है।

अर्थात variable x का address *ptr2 के लिए value होगा जबकि ptr1 के लिए यह address होगा।

more about pointer

Leave a Reply

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