पॉइंटर्स मेमोरी लोकेशन या वेरिएबल्स के एड्रेस को स्टोर करते हैं। दूसरे शब्दों में, पॉइंटर्स एक मेमोरी लोकेशन को रेफर करते हैं और उस मेमोरी लोकेशन पर स्टोर किए गए वैल्यू को प्राप्त करना पॉइंटर को डीरेफ्रेंसिंग के रूप में जाना जाता है।
एक प्रोग्राम जो किसी सरणी के एक तत्व तक पहुँचने के लिए पॉइंटर्स का उपयोग करता है, वह इस प्रकार दिया गया है -
उदाहरण
#include <iostream> using namespace std; int main() { int arr[5] = {5, 2, 9, 4, 1}; int *ptr = &arr[2]; cout<<"The value in the second index of the array is: "<< *ptr; return 0; }
आउटपुट
The value in the second index of the array is: 9
उपरोक्त कार्यक्रम में, सूचक पीटीआर तत्व के पते को सरणी में तीसरे सूचकांक यानी 9 पर संग्रहीत करता है।
यह निम्नलिखित कोड स्निपेट में दिखाया गया है।
int *ptr = &arr[2];
सूचक को संदर्भित किया जाता है और मान 9 को संकेत (*) ऑपरेटर का उपयोग करके प्रदर्शित किया जाता है। इसे इस प्रकार प्रदर्शित किया जाता है।
cout<<"The value in the second index of the array is: "<< *ptr;
एक अन्य प्रोग्राम जिसमें एरे के सभी तत्वों को एक्सेस करने के लिए सिंगल पॉइंटर का उपयोग किया जाता है, वह इस प्रकार दिया गया है।
उदाहरण
#include <iostream> using namespace std; int main() { int arr[5] = {1, 2, 3, 4, 5}; int *ptr = &arr[0]; cout<<"The values in the array are: "; for(int i = 0; i < 5; i++) { cout<< *ptr <<" "; ptr++; } return 0; }
आउटपुट
The values in the array are: 1 2 3 4 5
उपरोक्त कार्यक्रम में, सूचक पीटीआर सरणी के पहले तत्व के पते को संग्रहीत करता है। यह इस प्रकार किया जाता है।
int *ptr = &arr[0];
इसके बाद, पॉइंटर को डीरेफेरेंस करने और ऐरे में सभी तत्वों को प्रिंट करने के लिए लूप के लिए उपयोग किया जाता है। लूप के प्रत्येक पुनरावृत्ति में सूचक को बढ़ाया जाता है यानी प्रत्येक लूप पुनरावृत्ति पर, सूचक सरणी के अगले तत्व को इंगित करता है। फिर वह सरणी मान मुद्रित होता है। इसे निम्नलिखित कोड स्निपेट में देखा जा सकता है।
for(int i = 0; i < 5; i++) { cout<< *ptr <<" "; ptr++; }