c++ - difference between a pointer and a pointer array -
मैंने एक कोड बनाया
#include & lt; iostream & gt; # से & lt में शामिल हैं, conio.h & gt; नेमस्पेस एसटीडी का उपयोग करना; शून्य मुख्य () {int * x, * y; एक्स = नया इंट [1]; Y = नया इंट; CIN & gt; & gt; y; // संभवतः त्रुटि देता है क्योंकि y एक सूचक है और नहीं एक चर cin & gt; & gt; * y // ठीक काम करता है cin & gt; & gt; x [0] & gt; x [1]; अदालत के & lt; & lt; एक्स [0] को & lt; & lt; एक्स [1]; अदालत के & lt; & lt; * x [0]; // त्रुटि cout & lt; & lt; y; अदालत के & lt; & lt; * y; getch (); } त्रुटि देता है। क्यों? मुझे याद है कि मैंने एक्स को एक सूचक सरणी के रूप में घोषित किया है और अब मैं वही कर रहा हूँ जो मैंने किया था * y। इसका मतलब यह है कि एक सूचक सरणी एक चर हो जाती है? Plz मदद करो!
आप वास्तव में कोड की उस पंक्ति से क्या कर रहे हैं: < pre> अदालत के & lt; & lt; ** x; x [0] का उपयोग x के 0th तत्व का dereference करेगा क्योंकि ।
जैसा कि आप x , x की अपनी परिभाषा से देख सकते हैं, केवल एक संकेतक है, एक सूचक के लिए सूचक नहीं, इसलिए दो बार दोरेन्फर करने से ये काम नहीं करेगा क्योंकि आप भ्रम को भ्रम करने की कोशिश कर रहा है। क्या रेखा है:
x = नया इंट [1]; वास्तव में ऐसा कर रही है, "बस एक अंक की एक सरणी निर्दिष्ट करें, इस 1 सूचक को आकार दें", जो कि केवल x को स्मृति के एक ब्लॉक को इंगित कर देगा पर्याप्त 1 ईआर स्टोर करने के लिए।
Comments
Post a Comment