रेफरेंस (References)
जब किसी वेरिएबल को रेफरेंस के रूप में घोषित किया जाता है, तो यह मौजूदा वेरिएबल के लिए एक वैकल्पिक नाम बन जाता है।
सिंटैक्स
Type &newname = existing name;
इनिशियलाइज़ेशन
Type &pointer; pointer = variable name;
पॉइंटर्स (Pointers)
पॉइंटर्स का उपयोग वेरिएबल के एड्रेस को स्टोर करने के लिए किया जाता है।
सिंटैक्स
Type *pointer;
इनिशियलाइज़ेशन
Type *pointer; pointer = variable name;
रेफरेंस और पॉइंटर्स के बीच मुख्य अंतर हैं -
- रेफरेंस का उपयोग मौजूदा वेरिएबल को दूसरे नाम से संदर्भित करने के लिए किया जाता है जबकि पॉइंटर्स का उपयोग वेरिएबल के एड्रेस को स्टोर करने के लिए किया जाता है।
- रेफरेंस में नल मान नहीं दिया जा सकता लेकिन पॉइंटर में दिया जा सकता है।
- रेफरेंस वेरिएबल को वैल्यू द्वारा बाईपास रेफरेंस किया जा सकता है जबकि पॉइंटर को रेफरेंस द्वारा पास किया जा सकता है।
- रेफरेंस को घोषणा पर इनिशियलाइज़ किया जाना चाहिए जबकि पॉइंटर के मामले में यह आवश्यक नहीं है।
- रेफरेंस मूल वेरिएबल के साथ समान मेमोरी एड्रेस साझा करता है लेकिन स्टैक पर कुछ जगह भी लेता है जबकि पॉइंटर का अपना मेमोरी एड्रेस और स्टैक पर आकार होता है।