अभियस-21

हम pointer के बारे में और जानेंगे.
पिछली बार हमने इस C/C++ programming language tutorial में int pointer का example देखा था परन्तु pointer किसी भी datatype का हो सकता है. struct का भी pointer हो सकता है. हम struct pointer का एक example देखते हैं!
 ऊपर दिए C/C++ program को चला कर देख लें. उसका output यहाँ समझते हैं. main में हमने पहले struct rectangle type का variable r1 define किया है और pointer r2 declare किया है जो struct rectangle का address store कर सकता है. उसमे r1 का address डाल दिया गया है. अब r1 एक variable है और r2 pointer है जिसमे r1 का address है इसलिए अगर हम r1 में value change करते हैं तो r2 से value read करने पर changed value मिलेगी. इसी तरह r2 में value change करते हैं तो r1 से read करने पार changed value मिलेगी.

ऊपर दिए गए program को ध्यान से देखिये. r2 address(pointer) है r1 का, इसलिए *r2 हमें struct rectangle देगा(pointer वाले address की value * लगाने पर आती है इसलिए *r2 और r1 एक ही हैं. इसी तरह (*r2).width और r1.width भी एक ही हैं दोनों में से किसी एक को change करने पर दूसरा भी change हो जाता है.)

Important Note about pointer
1. (*r2).width लिखने का shortcut r2->width भी होता है. program me (*r2).width की जगह r2->width और (*r2).length कि जगह r2->length भी लिख सकते हैं. आप ऊपर दिए गए program में यह लिखकर चलाकर देखें. 2. कोई भी variable declare करने का मतलब है कि उसमे कोई value नहीं डाली(जैसे int x;) और define करने का मतलब है कि उसमे value भी डाल दी है(जैसे int x=1;) अगर आपने pointer सिर्फ declare किया है और उसमे किसी variable का address नहीं डाला तो उससे value read करने में(* का use करके जैसे *r2) program crash हो जायेगा और segmentation fault दे देगा. आज के लिए इतना ही. अभी pointer के बारे में बहुत कुछ जानना बाकी है.
अगर आपको यह लेख पसंद आया हो तो अपने दोस्तों को भी बताएं क्योंकि ये उनके लिए भी उपयोगी सिद्ध हो सकता है!!

कोई टिप्पणी नहीं:

एक टिप्पणी भेजें