Pointer and Arrays in C Programming in Hindi
जब एक array को declare किया जाता है, तो कंपाइलर array के सभी elements को contain करने के लिए पर्याप्त मात्रा में मेमोरी allocate करता है। Base address यानी array के पहले element का address भी compiler द्वारा allocate किया जाता है।
मान लीजिए हम एक array arr को declare करते हैं
यह मानते हुए कि arr का base address 1000 है और प्रत्येक integer को दो बाइट्स की आवश्यकता होती है, पांच elements को निम्नानुसार store किया जाएगा
यहां वेरिएबल arr बेस एड्रेस देगा, जो array के पहले एलिमेंट की ओर इशारा करने वाला एक constant pointer है|
अब हम p का उपयोग करके array को access करने वाले प्रत्येक element को एक element से दूसरे element तक ले जा सकते हैं।
NOTE: एक बार इंक्रीमेंट करने पर आप पॉइंटर decrement नहीं कर सकते। p-- काम नहीं करेगा।
Pointer to Array explain in Hindi
जैसा कि ऊपर अध्ययन किया गया है, हम एक पॉइंट को point करने के लिए एक पॉइंटर का उपयोग कर सकते हैं, और फिर array elements को एक्सेस करने के लिए हम उस पॉइंटर का उपयोग कर सकते हैं।
चलो एक उदाहरण है
उपरोक्त program में, pointer *p array में store सभी values को एक-एक करके प्रिंट करेगा। हम pointer के रूप में कार्य करने और सभी values को प्रिंट करने के लिए base addrress (उपरोक्त case में) का उपयोग कर सकते हैं।
एक arrey के साथ pointer का उपयोग करने के लिए generalized form
is the same as:
Pointer to Multidimensional Array
a[i][j] एक Multidimensional Array रूप का है। आइए देखें कि हम इस तरह के ऐरे को पॉइंटर पॉइंट कैसे बना सकते हैं। जैसा कि हम अब जानते हैं, array a[i][j] इसका base address देता है। इस array का base address देगा, यहां तक कि एक +0 +0 भी base address देगा, जो एक [0][0] तत्व का address है।
यहाँ Multidimensional Arrays के साथ pointer का उपयोग करने के लिए सामान्यीकृत रूप है।
Pointer and Character strings
स्ट्रिंग बनाने के लिए पॉइंटर का भी उपयोग किया जा सकता है। चार प्रकार के पॉइंटर variable को एक string के रूप में माना जाता है।
उपरोक्त कोड एक string बनाता है और पॉइंटर वेरिएबल str में अपना address स्टोर करता है। pointer str अब string "हैलो" के पहले character को point करता है। यहां ध्यान देने वाली एक और महत्वपूर्ण बात यह है कि चार पॉइंटर का उपयोग करके बनाई गई string को runtime पर एक मान assigned किया जा सकता है।
string की सामग्री को printf() और puts() का उपयोग करके प्रिंट किया जा सकता है।
ध्यान दें कि str एक pointer है, यह string का नाम भी है। इसलिए हमें ऑपरेटर * का उपयोग करने की आवश्यकता नहीं है।
Array of Pointers
ध्यान दें कि स्ट्रिंग स्ट्रिंग के लिए एक संकेतक है, यह स्ट्रिंग का नाम भी है। इसलिए हमें अप्रत्यक्ष ऑपरेटर * का उपयोग करने की आवश्यकता नहीं है।
दूसरे दृष्टिकोण में memory wastage अधिक होता है, इसलिए ऐसे मामलों में pointer का उपयोग करना पसंद किया जाता है।
0 Comments
Please don't Add spam links,
if you want backlinks from my blog contact me on rakeshmgs.in@gmail.com