साधन एक मौजूदा चर का पता लेने संदर्भित (& का प्रयोग करके) एक सूचक चर सेट करने के लिए।
int c1;
int* p1;
c1 = 5;
p1 = &c1;
//p1 references c1
एक सूचक * ऑपरेटर का उपयोग का मतलब है अपसंदर्भन (तारांकन: आदेश वैध होने के लिए, एक सूचक तारांकन बिना सूचक के रूप में एक ही प्रकार के एक चर के पते पर स्थापित किया जाना है, चरित्र) सूचक पर संग्रहीत मूल्य तक पहुंचने के लिए: नोट: पॉइंटर के पते पर संग्रहीत मान उसी प्रकार का मान होना चाहिए जो पॉइंटर "पॉइंट्स" के चर के प्रकार के रूप में होना चाहिए, लेकिन कोई गारंटी नहीं है यह तब तक मामला है जब तक पॉइंटर सही ढंग से सेट नहीं किया गया हो। पॉइंटर पॉइंट्स वैरिएबल का प्रकार बाहरीतम तारांकन को कम करता है।
int n1;
n1 = (*p1);
अमान्य dereferencing या दुर्घटनाओं का कारण नहीं है हो सकता है:
- किसी भी अप्रारंभीकृत सूचक का कोई भी dereferencing एक दुर्घटना
- अमान्य प्रकार कलाकारों के साथ अपसंदर्भन पैदा कर सकता है एक दुर्घटना का कारण करने की क्षमता होगा।
- एक चर कि गतिशील रूप से आवंटित किया गया था और बाद में डी-आवंटित किया गया था एक दुर्घटना
- एक चर के बाद से क्षेत्र से बाहर चला गया है यह भी एक दुर्घटना का कारण बन सकती करने के लिए एक सूचक dereferencing पैदा कर सकता है के लिए एक सूचक dereferencing।
अमान्य संदर्भित अधिक करने के लिए दुर्घटनाओं से संकलक त्रुटियां होने की संभावना है, लेकिन यह एक अच्छा विचार है इस के लिए संकलक पर भरोसा करने की नहीं है।
संदर्भ:
http://www.codingunit.com/cplusplus-tutorial-pointers-reference-and-dereference-operators
& is the reference operator and can be read as “address of”.
* is the dereference operator and can be read as “value pointed by”.
http://www.cplusplus.com/doc/tutorial/pointers/
& is the reference operator
* is the dereference operator
http://en.wikipedia.org/wiki/Dereference_operator
The dereference operator * is also called the indirection operator.
स्रोत
2013-01-08 22:15:56
http://c-faq.com/~scs/cgi-bin/faqcat.cgi?sec=ptrs –
ध्यान दें कि आधिकारिक नाम पते ('&') और संकेत ('*') ऑपरेटर हैं । –
आपके पास ऑपरेटर मिश्रित हैं। * अपमानजनक ऑपरेटर है। – cheznead