पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है।
सूचक घोषणा, आरंभीकरण और पहुंच
निम्नलिखित कथन पर विचार करें -
int qty = 179;
सूचक घोषित करना
int *p;
'p' एक पॉइंटर वेरिएबल है जो दूसरे इंटीजर वेरिएबल का पता रखता है।
सूचक का प्रारंभ
एड्रेस ऑपरेटर (&) का उपयोग पॉइंटर वेरिएबल को इनिशियलाइज़ करने के लिए किया जाता है।
int qty = 175; int *p; p= &qty;
पॉइंटर्स का उपयोग करके अंकगणितीय संचालन
अभिव्यक्ति में सूचक चर का उपयोग किया जा सकता है। उदाहरण के लिए, यदि सूचक चर ठीक से घोषित और प्रारंभ किए गए हैं तो निम्नलिखित कथन मान्य हैं।
a) *p1 + *p2 b) *p1- *p2 c) *p1 * *p2 d) *p1/ *p2 Note: There must be a blank space between / and * otherwise it is treated as beginning of comment line e ) p1 + 4 f) p2 - 2 g) p1 - p2 Note: returns the no. of elements in between p1 and p2 if both of them point to same array h) p1++ i) – – p2 j) sum + = *p2 j) p1 > p2 k) p1 = = p2 l) p1 ! = p2 Note: Comparisons can be used meaningfully in handling arrays and strings
निम्नलिखित कथन अमान्य हैं -
a) p1 + p2 b) p1 * p2 c) p1 / p2 d) p1 / 3
कार्यक्रम
#include<stdio.h> main (){ int a,b,x,y,z; int *p1, *p2; a =12; b = 4; p1= &a; p2 = &b; x = *p1 * * p2 – 6; y= 4 - *p2 / *p1+10; printf (“Address of a = %d”, p1); printf (“Address of b = %d”, p2); printf (“a= %d b =%d”, a,b); printf (“x= %d y =%d”, x,y); }
आउटपुट
Address of a = 1234 Address of b = 5678 a = 12 b= 4 x = 42 y= 14
स्पष्टीकरण