Pointer Arithmetic: Subtraction
Pointer Arithmetic: किसी Array के दो Elements का Address यदि दो अलग-अगल Pointer Variables में Stored हो तो हम इन्हें आपस में घटा सकते हैं। एक Pointer में से दूसरे Pointer को घटाने पर प्राप्त होने वाला मान प्रथम Element से दूसरे Element के बीच की दूरी Bytes में बताता है, जो कि Pointers के Scale Factor को Represent करता है। इसे समझने के लिए निम्न उदाहरण देखिये:
इस उदाहरण में हम देखते हैं कि j[1] का Address 65520 व j[3] का Address 65524 है। j[3] – j[1] करने पर 65524 – 65520 होना चाहिये। लेकिन ऐसा नहीं होता, और इसका मान 2 प्राप्त होता है। ऐसा इसलिए होता है, क्योंकि किसी Pointer में से जब उसी Array के किसी अन्य Element के Pointer को घटाया जाता है, तब प्राप्त होने वाला मान Addresses की आपस की गणना का मान नहीं होता है, बल्कि ये मान उन दोनो Addresses के बीच Exist अन्य Elements की संख्या बताता है, कि दूसरा Element प्रथम Element से कितना दूर है या कितने और Elements इन दोनों Addresses के बीच Exist हैं और यहां j[3], j[1] से दो Integers की दूरी पर स्थित है। (Pointer Arithmetic – Wiki)
Pointer Arithmetic: Addition and Comparison
यदि किसी Array के एक ही Elements के दो Pointers हों तो उनका आपस में Comparison भी किया जा सकता है कि उन दोनों Pointers के Address समान हैं या नहीं। जैसे:
ये बात हमेंशा ध्यान रखें कि कभी भी दो Pointers में Stored Addresses को:
- आपस में जोड कर नया Address प्राप्त नहीं किया जा सकता।
- आपस में किसी स्थिरांक (Constant Value) से भाग नहीं दिया जा सकता। और
- आपस में किसी स्थिरांक (Constant Value) से गुणा नहीं किया जा सकता।
इस प्रकार से इस Post द्वारा आप Pointer Arithmetic को काफी आसानी से समझ सकते हैं।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook C Programming Language in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
C Programming Language in Hindi | Page: 477 + 265 | Format: PDF