पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है।
सूचक घोषणा, आरंभीकरण और पहुंच
निम्नलिखित कथन पर विचार करें -
int qty = 179;
सूचक घोषित करना
int *p;
'p' एक पॉइंटर वेरिएबल है जो दूसरे इंटीजर वेरिएबल का पता रखता है।
सूचक का प्रारंभ
एड्रेस ऑपरेटर (&) का उपयोग पॉइंटर वेरिएबल को इनिशियलाइज़ करने के लिए किया जाता है।
int qty = 175; int *p; p= &qty;
आइए एक उदाहरण पर विचार करें कि स्ट्रिंग की एक सरणी में तत्वों तक पहुँचने में पॉइंटर कैसे उपयोगी है।
इस कार्यक्रम में, हम उस तत्व तक पहुँचने का प्रयास कर रहे हैं जो विशेष स्थान पर मौजूद है। एक ऑपरेशन का उपयोग करके स्थान का पता लगाया जा सकता है।
प्री इंक्रीमेंटेड पॉइंटर को प्री इंक्रीमेंटेड पॉइंटर स्ट्रिंग में जोड़कर और 32 को घटाकर, आप उस स्थान पर मान प्राप्त कर सकते हैं।
उदाहरण
#include<stdio.h> int main(){ char s[] = {'a', 'b', 'c', '\n', 'c', '\0'}; char *p, *str, *str1; p = &s[3]; str = p; str1 = s; printf("%d", ++*p + ++*str1-32); return 0; }
आउटपुट
77
स्पष्टीकरण
p = &s[3]. i.e p = address of '\n'; str = p; i.e str = address of p; str1 = s; str1 = address of 'a'; printf ("%d", ++*p + ++*str1 - 32); i.e printf("%d", ++\n + a -32); i.e printf("%d", 12 + 97 -32); i.e printf("%d", 12 + 65); i.e printf("%d", 77); Thus 77 is outputted