C Language in Hindi – Pointer to Pointer (Double Pointer)

Pointer to Pointer in C in Hindi

Pointer to Pointer in C in Hindi

जैसा कि हम जानते हैं कि, C. पॉइंटर में एक वेरिएबल के पते को स्टोर करने के लिए एक पॉइंटर का उपयोग किया जाता है। हालाँकि, C में, हम एक पॉइंटर को दूसरे पॉइंटर के पते को स्टोर करने के लिए भी परिभाषित कर सकते हैं। ऐसे पॉइंटर को डबल पॉइंटर (पॉइंटर टू पॉइंटर) के रूप में जाना जाता है। पहले पॉइंटर का उपयोग वेरिएबल के address को स्टोर करने के लिए किया जाता है जबकि दूसरे पॉइंटर का इस्तेमाल पहले पॉइंटर के address को स्टोर करने के लिए किया जाता है। आइए इसे नीचे दिए गए diagram द्वारा समझते हैं।

pointer to pointer in c

डबल पॉइंटर घोषित करने का सिंटैक्स नीचे दिया गया है।

  1. int **p; // pointer to a pointer which is pointing to an integer.   

निम्नलिखित उदाहरण पर विचार करें।

  1. #include<stdio.h>  
  2. void main ()  
  3. {  
  4.     int a = 10;  
  5.     int *p;  
  6.     int **pp;   
  7.     p = &a; // pointer p is pointing to the address of a  
  8.     pp = &p; // pointer pp is a double pointer pointing to the address of pointer p  
  9.     printf("address of a: %x\n",p); // Address of a will be printed   
  10.     printf("address of p: %x\n",pp); // Address of p will be printed  
  11.     printf("value stored at p: %d\n",*p); // value stoted at the address contained by p i.e. 10 will be printed  
  12.     printf("value stored at pp: %d\n",**pp); // value stored at the address contained by the pointer stoyred at pp  
  13. }  

Output

address of a: d26a8734

address of p: d26a8738

value stored at p: 10

value stored at pp: 10

 

C double pointer example

आइए एक उदाहरण देखें जहां एक पॉइंटर दूसरे पॉइंटर के पते पर point करता है।

C pointer to pointer example

जैसा कि आप उपरोक्त figure में देख सकते हैं, p2 में p (fff2) का पता है, और p में number variable (fff4) का पता है।

  1. #include<stdio.h>  
  2. int main(){  
  3. int number=50;      
  4. int *p;//pointer to int    
  5. int **p2;//pointer to pointer        
  6. p=&number;//stores the address of number variable      
  7. p2=&p;    
  8. printf("Address of number variable is %x \n",&number);      
  9. printf("Address of p variable is %x \n",p);      
  10. printf("Value of *p variable is %d \n",*p);      
  11. printf("Address of p2 variable is %x \n",p2);      
  12. printf("Value of **p2 variable is %d \n",*p);      
  13. return 0;  
  14. }  

Output

Address of number variable is fff4

Address of p variable is fff4

Value of *p variable is 50

Address of p2 variable is fff2

Value of **p variable is 50

 

Leave a Reply

DMCA.com Protection Status