Pointer to Pointer In C In Hindi [Full Information With Examples]

हेलो फ्रेंड्स, आज के इस आर्टिकल Pointer-to-pointer (जिसे double pointer  भी कहते है) के बारे में बात करें वाले है | 

आज हम विस्तार से जानेंगे कि Pointer to pointer क्या है? (What is Pointer to Pointer In C In Hindi) और सी लैंग्वेज में इसका उपयोग कैसे और क्यों किया जाता है?

तो आइये बिना समय गवाए जानते है Pointer-to-Pointer or Double pointer के बारे में |

Pointer to Pointer In C In Hindi

Pointer to Pointer क्या है? (What is Pointer to Pointer In C In Hindi)

जैसे की हम जानते है, Pointer एक ऐसा वेरिएबल है जिसका उपयोग सी लैंग्वेज में  वेरिएबल के एड्रेस को contain करने के लिए किया जाता  है | 

चूँकि पॉइंटर भी एक वेरिएबल है इसलिए यह भी मेमोरी में कुछ स्पेस लेता है और इसका भी एक एड्रेस होता है और जब हमे इस पॉइंटर वेरिएबल के एड्रेस को कॉन्टैन करना होता है तब हमे एक ऐसे पॉइंटर वेरिएबल की जरुरत होती है जो इस पॉइंटर वेरिएबल का एड्रेस कॉन्टैन कर सके | 

इस पॉइंटर वेरिएबल, जो दूसरे पॉइंटर वेरिएबल के एड्रेस को कॉन्टैन करता है को Pointer to Pointer या double Pointer वेरिएबल कहते है | 

Pointer to pointer का इस्तेमाल आमतौर पर फंक्शन्स में पॉइंटर वेरिएबल पास करते समय किया जाता है | 

इसका सिंटेक्स कुछ ऐसा होता है -:

Syntax -:

data_type **pptr

data_type -: यहाँ डेटा टाइप कुछ भी हो सकता है | यदि हम int टाइप के पॉइंटर वेरिएबल का एड्रेस स्टोर करना चाहते है तो यहाँ int आएगा और यदि हम float या char टाइप के पॉइंटर वेरिएबल का एड्रेस स्टोर करना चाहते है तो यहाँ float या char आएगा |

 **pptr -:  यह Pointer to pointer वेरिएबल का नाम है जो दूसरे पॉइंटर वेरिएबल (जो किसी नार्मल वेरिएबल को पॉइंट करता है) का एड्रेस कॉन्टैन करेगा |

नोट -:   Pointer to pointer वेरिएबल को डिक्लेअर करते समय डबल asterisk (**) सिंबल का उपयोग किया जाता है ताकि इसे नार्मल पॉइंटर वेरिएबल से अलग दिखाया जा सके | 

आइये Pointer to pointer वेरिएबल को हम इस एक उदाहरण से समझते है -:

int a = 5;·
int *pa = &a;
int **ppa = &pa;

यहाँ a एक नार्मल वेरिएबल है जो int टाइप का है | इस int टाइप के वेरिएबल के एड्रेस को स्टोर करने के लिए एक पॉइंटर वेरिएबल pa नाम से बनाया गया है जो a वेरिएबल का एड्रेस store कर रहा है | इस पॉइंटर वेरिएबल pa को नार्मल वेरिएबल से अलग दिखने के लिए asterisk(*) सिंबल का उपयोग करते हुए डिक्लेअर किया गया है | 

pa पॉइंटर वेरिएबल का भी एक एड्रेस होगा क्योकि ये भी एक तरह का वेरिएबल है इसलिए इसके एड्रेस को स्टोर करने के लिए **ppa नाम से एक और वेरिएबल डबल astric सिंबल के साथ डिक्लेअर किया गया है ताकि इस **ppa वेरिएबल को नार्मल पॉइंटर वेरिएबल से अलग दिखाया जा सके और इसमें *pa वेरिएबल का एड्रेस स्टोर किया जा सके| 

आइये इन बातों को हम एक प्रोग्राम के द्वारा समझते है |

Example Program

//Program to understand pointer to pointer

#include<stdio.h>
void main( )
{
int a=5;
int *pa;
int **ppa;

pa=&a;
ppa=&pa;

printf("Address of a = %u\n", &a);
printf("Value of pa = Address of a %u\n",pa);
printf("Value of *pa = Value of a =  %d\n",*pa);
printf("Address of pa = %u \n", &pa) ;
printf("Value of ppa = Address of pa = %u\n" ,ppa);
printf("Value of *ppa = Value of pa = %u\n", *ppa);
printf("Value of **ppa Value of a = %d\n",**ppa);
printf("Address'of ppa = %u\n",&ppa);
}

Output -:

Address of a = 6422268
Value of pa = Address of a 6422268
Value of *pa = Value of a =  5
Address of pa = 6422264
Value of ppa = Address of pa = 6422264
Value of *ppa = Value of pa = 6422268
Value of **ppa Value of a = 5
Address'of ppa = 6422260

तो दोस्तों हो सकता है कि ऊपर बताये गए प्रोग्राम को देख कर आपको समझ नहीं आ रहा होगा कि प्रोग्राम में ये सब क्या हो रहा है | 

इस प्रोग्राम को समझने के लिए आपको एड्रेस और asterisk ऑपरेटर के बारे में अच्छे से जानकारी होना आवश्यक है | आप इन दोनों के बारे में निचे दिए गए लिंक से पढ़ सकते है | 

Address and Indirection (Asterisk) Operator In C

दोस्तों Pointer to pointer in C के बारे में जानने के लिए आप निचे दिए गए इस वीडियो को एक बार देख सकते है | यदि इसके बाद भी आपको इस टॉपिक को समझने में कोई दिक्कत हो या फिर कोई प्रश्न हो तो निचे कमेंट में बता दीजियेगा मैंने आपके सवालों के जवाब जरुरु दूंगा 

Conclusion

दोस्तों आशा करता हु कि आज के इस आर्टिकल को पढ़ने के बाद आपको Pointer to pointer क्या है? (What is Pointer to Pointer In C In Hindi) और सी लैंग्वेज में इसका उपयोग कैसे और क्यों किया जाता है? से संबंधित सभी जानकारी मिल गई होगी |

अगर आप सी लैंग्वेज का Complete Tutorial चाहते है तो मेरे इस पोस्ट C Language Tutorial In Hindi को देखे यहाँ आपको C Programming Language के सभी टॉपिक्स step by step मिल जाएगी |

दोस्तों आशा करता हु कि आपको ये पोस्ट पसंद आई होगी और अगर आपको ये पोस्ट पसंद आया है तो इस पोस्ट को अपने अपने दोस्तों को शेयर करना न भूलिएगा ताकि उनको भी Pointer to pointer क्या है? (What is Pointer to Pointer In C In Hindi) से संबंधित जानकारी प्राप्त हो सके |

अगर आपको अभी भी Pointer to Pointer In C In Hindi से संबंधित कोई भी प्रश्न या Doubt है तो आप जरूर बताये मैं आपके सभी सवालों का जवाब दूँगा और ज्यादा जानकारी के लिए आप हमसे संपर्क कर सकते है

ऐसे ही नयी टेक्नोलॉजी ,Programming Language, Coding , C Language, C++, Python Course , Java Tutorial से रिलेटेड जानकारियाँ पाने के लिए हमारे इस वेबसाइट को सब्सक्राइब कर दीजिए | जिससे हमारी आने वाली नई पोस्ट की सूचनाएं जल्दी प्राप्त होगी |

Jeetu Sahu is A Web Developer | Computer Engineer | Passionate about Coding, Competitive Programming and Blogging

Leave a Comment