सी ++ में मेमोरी एड्रेस क्या है और इसे कैसे खोजें?

Si Mem Memori Edresa Kya Hai Aura Ise Kaise Khojem



सी ++ में, स्मृति का पता रैम में एक चर का स्थान होता है जहां डेटा संग्रहीत होता है। RAM (रैंडम एक्सेस मेमोरी) एक प्रकार की कंप्यूटर मेमोरी है जिसे किसी भी क्रम में पढ़ा और संशोधित किया जा सकता है और अक्सर ऑपरेटिंग डेटा और मशीन कोड को स्टोर करने के लिए उपयोग किया जाता है। हमारे कार्यक्रमों में, प्रत्येक चर RAM में संग्रहीत होता है और स्मृति में स्थान लेता है। इन चरों का एक विशिष्ट मेमोरी स्थान होता है, और उनमें से प्रत्येक का एक पता होता है जिसे इसके माध्यम से प्राप्त किया जा सकता है एम्परसेंड (&) ऑपरेटर . यह ऑपरेटर एक वेरिएबल के मेमोरी एड्रेस का प्रतिनिधित्व करता है और उस स्थान पर संग्रहीत डेटा तक पहुँचने और हेरफेर करने के लिए उपयोगी है।

यह लेख C++ में वेरिएबल के मेमोरी एड्रेस को खोजने के लिए एक गाइड प्रदान करता है।

C ++ में वेरिएबल का मेमोरी एड्रेस कैसे निर्धारित करें

C++ में, वेरिएबल के मेमोरी एड्रेस को निर्धारित करने के दो तरीके हैं:







विधि 1: 'का पता' और ऑपरेटर का उपयोग करके चर का मेमोरी पता खोजें

जब हमें किसी वेरिएबल का मेमोरी एड्रेस निर्धारित करने की आवश्यकता होती है, तो हम इसका उपयोग कर सकते हैं 'ऑपरेटर का पता' (&) , जो चर का पता लौटाता है। एक चर का पता प्रदर्शित करने के लिए, उपयोग करें 'और' चर नाम के साथ।



आइए इसे प्रदर्शित करने के लिए एक उदाहरण कार्यक्रम का उपयोग करें:



#शामिल

नेमस्पेस एसटीडी का उपयोग करना ;

int यहाँ मुख्य ( )

{

int यहाँ संख्या 1 ;

तैरना num2 ;

स्ट्रिंग स्ट्र ;

अदालत << 'इसका मेमोरी पता खोजने के लिए कृपया एक पूर्णांक मान दर्ज करें:' ;

खाना >> संख्या 1 ;

अदालत << 'दर्ज संख्या है:' << संख्या 1 << endl ;

अदालत << 'का पता ' << संख्या 1 << ' है: ' <<& संख्या 1 << endl ;

अदालत << 'इसका स्मृति पता खोजने के लिए कृपया दशमलव मान दर्ज करें:' ;

खाना >> num2 ;

अदालत << 'दर्ज किया गया नंबर है:' << num2 << endl ;

अदालत << 'का पता ' << num2 << ' है :' <<& num2 << endl ;

अदालत << 'कृपया इसका स्मृति पता खोजने के लिए एक स्ट्रिंग दर्ज करें:' ;

खाना >> एसटीआर ;

के लिए ( int यहाँ मैं = 0 ; मैं < str. लंबाई ( ) ; ++ मैं )

अदालत << 'का पता ' << एसटीआर [ मैं ] << ' है :' << ( खालीपन * ) और एसटीआर [ मैं ] << endl ;

वापस करना 0 ;

}

उपरोक्त प्रोग्राम में हमारे वेरिएबल लेबल क्रमशः num1, num2, और str हैं, जिनमें डेटा प्रकार क्रमशः int, फ्लोट और स्ट्रिंग हैं। 'और' ऑपरेटर का उपयोग इसके मेमोरी एड्रेस को खोजने के लिए वेरिएबल नाम के साथ किया जाता है। यह ध्यान दिया जाना चाहिए कि चर का पता प्रदान करने वाला आउटपुट एक यादृच्छिक रूप से उत्पन्न संख्या है।





विधि 2: पॉइंटर का उपयोग करके वेरिएबल का मेमोरी पता खोजें

C++ में, पॉइंटर्स का उपयोग करके वेरिएबल एड्रेस भी प्राप्त किए जा सकते हैं। एक वेरिएबल जो दूसरे वेरिएबल का पता रखता है उसे पॉइंटर कहा जाता है। एक सूचक किसी अन्य चर की तरह कार्य करता है जिसे उपयोग करने से पहले निर्दिष्ट किया जाना चाहिए। C++ में एक पॉइंटर को परिभाषित किया जाता है '*' ऑपरेटर, जिसे कभी-कभी तारक चिह्न ऑपरेटर के रूप में जाना जाता है।



पॉइंटर का उपयोग करके मेमोरी एड्रेस खोजने के लिए एक उदाहरण प्रोग्राम देखें:

#शामिल

#शामिल <स्ट्रिंग>

नेमस्पेस एसटीडी का उपयोग करना ;

int यहाँ मुख्य ( ) {

int यहाँ संख्या 1 ;

int यहाँ * ptr_num1 = और संख्या 1 ;

तैरना num2 ;

तैरना * ptr_num2 = और num2 ;

स्ट्रिंग स्ट्र ;

अदालत << 'इसका मेमोरी पता खोजने के लिए कृपया एक पूर्णांक मान दर्ज करें:' ;

खाना >> संख्या 1 ;

अदालत << 'दर्ज संख्या है:' << संख्या 1 << endl ;

अदालत << 'का पता ' << संख्या 1 << ' है: ' << ptr_num1 << endl ;

अदालत << 'इसका स्मृति पता खोजने के लिए कृपया दशमलव मान दर्ज करें:' ;

खाना >> num2 ;

अदालत << 'दर्ज संख्या है:' << num2 << endl ;

अदालत << 'का पता ' << num2 << ' है: ' << ptr_num2 << endl ;

अदालत << 'कृपया इसका स्मृति पता खोजने के लिए एक स्ट्रिंग दर्ज करें:' ;

खाना >> एसटीआर ;

के लिए ( int यहाँ मैं = 0 ; मैं < str. लंबाई ( ) ; मैं ++ ) {

अदालत << 'का पता ' << एसटीआर [ मैं ] << ' है: ' << ( खालीपन * ) और एसटीआर [ मैं ] << endl ;

}

वापस करना 0 ;

}

इस प्रोग्राम में वेरिएबल लेबल क्रमशः num1, num2, और str हैं, जिनमें डेटा प्रकार क्रमशः int, फ्लोट और स्ट्रिंग हैं। वेरिएबल एड्रेस को वेरिएबल नाम के साथ पॉइंटर का उपयोग करके निर्धारित किया जाता है। यह ध्यान दिया जाना चाहिए कि चर का पता प्रदान करने वाला आउटपुट एक यादृच्छिक रूप से उत्पन्न संख्या है।

निष्कर्ष

जब हम C++ में किसी डेटा प्रकार के वेरिएबल की घोषणा करते हैं, तो इसे ऑपरेटिंग सिस्टम द्वारा मेमोरी लोकेशन असाइन किया जाता है। यह स्मृति स्थान एक मनमाना संख्या है जो ऋणात्मक नहीं हो सकता है और इसे चर के पते के रूप में जाना जाता है। किसी वेरिएबल के मेमोरी एड्रेस को जानना कुछ प्रोग्रामिंग परिदृश्यों में उपयोगी हो सकता है। इस लेख में, हमने दो तरीकों का वर्णन किया है, द ऑपरेटर का पता (&) और सूचक चर , सरल उदाहरणों के साथ C++ में एक वेरिएबल का मेमोरी एड्रेस निर्धारित करने के लिए।