c++ - 2 dimensional array in pointers -
# शामिल हैं & lt; stdio.h & gt; शून्य मुख्य () {int a [] = {1, 2, 3, 4}; Int b [] = {5, 6, 7}; Int * p [2]; पी [0] = ए; पी [1] = और amp; बी + 1; प्रिंटफ़ ("% d \ n% d", & amp; पी [1] [0], पी [0] [1]); } यहाँ p पॉइंटर्स के एक 1d सरणी है, फिर कैसे एक 2d सरणी printf स्टेटमेंट में उपयोग की जाती है इसके अलावा आउटपुट 1 2 ।
सबस्क्रिप्ट ऑपरेटर [ ] सूचक संकेतों के साथ-साथ सरणी अभिव्यक्तियों के लिए भी परिभाषित किया गया है (जो सर्वप्रथम लागू होने से पहले सूचक अभिव्यक्ति में कनवर्ट किया जाता है)। अभिव्यक्ति एक [i] को * (a + i) के रूप में मूल्यांकन किया जाता है; a एक सूचक है, और a + i सरणी के i 'th तत्व का पता देता है ( पॉइंटर अंकगणित को इंगित-टू टाइप पर आधारित है; यदि a एक int को इंगित करता है, तब a + i मैं 'th int एक a द्वारा इंगित किया गया है)। तो संकेतकों की अपनी सरणी दी:
int * p [2]; अभिव्यक्ति p [0] में एक सूचक प्रकार है, ताकि आप परिणाम ऑफसेट और डीरेफर जोड़ सकते हैं: * (p [0] + 1) , जो p [0] [1] लिखने के समान है।
Comments
Post a Comment