पॉइंटर क्या है?
पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल का पता स्टोर करता है।
निम्नलिखित स्टेटमेंट पर विचार करें:
int qty = 179;
पॉइंटर घोषित करना
पॉइंटर घोषित करने का सिंटैक्स निम्नलिखित है:
int *p;
यहां, 'p' एक पॉइंटर वेरिएबल है जो दूसरे वेरिएबल का पता रखता है।
पॉइंटर का इनिशियलाइज़ेशन
एड्रेस ऑपरेटर (&) का उपयोग पॉइंटर वेरिएबल को इनिशियलाइज़ करने के लिए किया जाता है।
उदाहरण के लिए,
int qty = 175; int *p; p = &qty;
पॉइंटर्स का ऐरे
यह पतों का संग्रह (या पॉइंटर्स का संग्रह) है।
घोषणा
पॉइंटर्स के ऐरे की घोषणा निम्नलिखित है:
डेटाटाइप *पॉइंटरनाम [आकार];
उदाहरण के लिए,
int *p[5];
यह पॉइंटर्स के एक ऐरे को दर्शाता है जो पांच पूर्णांक एलिमेंट पतों को रख सकता है।
इनिशियलाइज़ेशन
इनिशियलाइज़ेशन के लिए '&' का उपयोग किया जाता है।
उदाहरण के लिए,
int a[3] = {10, 20, 30};
int *p[3], i;
for (i = 0; i < 3; i++)
p[i] = &a[i]; // या p[i] = a + i;
एक्सेस करना
एक्सेस करने के लिए इंडायरेक्शन ऑपरेटर (*) का उपयोग किया जाता है।
उदाहरण के लिए,
for (i = 0; i < 3; i++)
printf("%d", *p[i]);
प्रोग्राम
पॉइंटर्स का उपयोग करके ऐरे एलिमेंट्स का योग निकालने का C प्रोग्राम:
// पॉइंटर्स का उपयोग करके ऐरे एलिमेंट्स का योग
#include <stdio.h>
#include <malloc.h>
void main() {
int i, n, sum = 0;
int *ptr;
printf("ऐरे का आकार दर्ज करें: \n");
scanf("%d", &n);
ptr = (int *)malloc(n * sizeof(int));
printf("लिस्ट में एलिमेंट्स दर्ज करें \n");
for (i = 0; i < n; i++) {
scanf("%d", ptr + i);
}
// एलिमेंट्स का योग निकालें
for (i = 0; i < n; i++) {
sum = sum + *(ptr + i);
}
printf("ऐरे में सभी एलिमेंट्स का योग = %d\n", sum);
return 0;
}
आउटपुट
जब उपरोक्त प्रोग्राम निष्पादित होता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है:
ऐरे का आकार दर्ज करें: 5 लिस्ट में एलिमेंट्स दर्ज करें 12 13 14 15 16 ऐरे में सभी एलिमेंट्स का योग = 70