Pointer Expressions
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSi3H7Wrs5KU5ecZ6IHVekp-IYMB3q1IK9qyAm8iUPFJfNlgqzSkwZaKtuXGQM7lUC2ND69kBwfa33OVGtXv4a7ifDoaKogibVSiTcjpWprf7iVQpuy-GAp6Fipd-nnNoPnrmRXjmjlNL5wjdhEhD9pauWrxOhBNL0U8Z9WN2X_LHCmRye0feVAiZc/w640-h480/Pointer%20Expressions.jpg)
Pointer Expressions
यह बात हमेंशा
ध्यान रखें कि कभी भी Pointer की आपस में कोई Calculations
नहीं होती है बल्कि इन Pointers में जिन Variables
के Address होते हैं , उनके मानों की आपस में
गणना होती है | जैसे
int b,c,d;
int *bp, *cp , *dp;
bp = b;
cp = c;
dp = d;
b = 6;
c = 8;
अब निम्न गणनाएं
देखें
d = *dp + *cp;
इस Expression
से d का मान d = 6+8 यानी
14 होगा |
c = c + *cp;
इस Expression
से c का मान c = 8+8 यानी
16 हो जाएगा |
*bp = c+b;
इस Expression
से b का मान b = 8+6 यानी
14 हो जाएगा |
(float)*dp = (float)c/*bp;
इस Expression
से d का मान float में
प्राप्त होगा और c का मान float में
बदल जाएगा | उसके बाद b
के मान 6 का c के मान 8
में भाग दिया जाएगा | प्राप्त मान d में
store हो जाएगा |
इस
प्रकार से Pointer Variable की भी Calculations
होती है लेकिन उन Calculations का असर Pointer
में Store Address पर नहीं होता बल्कि जिन Variables
के Address Pointer में Store है उन Variables के मानों पर होता है |
कोष्टक में लिखी
गई Expressions
पहले Calculations होती है क्योंकि कोष्टक को
प्राथमिकता क्रम में सर्वप्रथम रखा गया है |
Pointer
के साथ भाग की क्रिया करते समय विशेष ध्यान रखना चाहिए क्योंकि यदि *
व / के बीच Space ना रखा जाए तो Comment देने वाले चिन्ह / * में बदल जाता है और Program
सही होते हुए भी Execute नहीं होता है |
No comments