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