C++ दो पॉइंटर ऑपरेटर प्रदान करता है, जो ऑपरेटर का पता (&) और इनडायरेक्शन ऑपरेटर (*) हैं। एक पॉइंटर एक वेरिएबल होता है जिसमें दूसरे वेरिएबल का पता होता है या आप कह सकते हैं कि एक वेरिएबल जिसमें दूसरे वेरिएबल का पता होता है, दूसरे वेरिएबल को "पॉइंट" करने के लिए कहा जाता है। एक वैरिएबल कोई भी डेटा प्रकार हो सकता है जिसमें ऑब्जेक्ट, स्ट्रक्चर या फिर से पॉइंटर भी शामिल है।
ऑपरेटर (&) का पता, और यह * का पूरक है। यह एक यूनरी ऑपरेटर है जो अपने ऑपरेंड द्वारा निर्दिष्ट वेरिएबल (आर-वैल्यू) का पता देता है। उदाहरण के लिए,
उदाहरण
#include <iostream> using namespace std; int main () { int var; int *ptr; int val; var = 3000; ptr = &var; // take the address of var val = *ptr; // take the value available at ptr cout << "Value of var :" << var << endl; cout << "Value of ptr :" << ptr << endl; cout << "Value of val :" << val << endl; return 0; }
आउटपुट
जब उपरोक्त कोड संकलित और निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Value of var : 3000 Value of ptr : 0xbff64494 Value of val : 3000