पॉइंटर और ऐरे के बारे में विवरण जो उनके अंतर को प्रदर्शित करते हैं वे इस प्रकार हैं।
पॉइंटर (Pointer)
एक पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल का एड्रेस स्टोर करता है। जब किसी वेरिएबल को मेमोरी आवंटित की जाती है, तो पॉइंटर वेरिएबल के मेमोरी एड्रेस की ओर इंगित करता है। यूनरी ऑपरेटर (*) का उपयोग पॉइंटर वेरिएबल घोषित करने के लिए किया जाता है।
पॉइंटर घोषणा का सिंटैक्स निम्नलिखित है।
datatype *variable_name;
यहां, datatype वेरिएबल का डेटा टाइप है जैसे int, char, float आदि। और variable_name यूजर द्वारा दिया गया वेरिएबल का नाम है।
एक प्रोग्राम जो पॉइंटर्स को प्रदर्शित करता है वह इस प्रकार है।
उदाहरण
#include <stdio.h>
int main() {
int a = 8;
int *ptr;
ptr = &a;
printf("Value of variable a: %d\n", a);
printf("Address of variable a: %d\n", ptr);
return 0;
}
उपरोक्त प्रोग्राम का आउटपुट इस प्रकार है।
Value of variable a: 8 Address of variable a: -2018153420
ऐरे (Array)
एक ऐरे सन्निहित मेमोरी लोकेशन्स पर एक ही प्रकार के एलिमेंट्स का संग्रह है। ऐरे में सबसे कम एड्रेस पहले एलिमेंट से मेल खाता है जबकि सबसे अधिक एड्रेस अंतिम एलिमेंट से मेल खाता है। ऐरे इंडेक्स शून्य (0) से शुरू होता है और ऐरे के आकार minus one (array size - 1) पर समाप्त होता है।
सिंटैक्स
ऐरे का सिंटैक्स निम्नलिखित है।
type array_name[array_size];
यहां, array_name ऐरे को दिया गया नाम है और array_size ऐरे का आकार है।
एक प्रोग्राम जो ऐरे को प्रदर्शित करता है वह इस प्रकार है।
उदाहरण
#include <stdio.h>
int main() {
int a[5];
int i, j;
for (i = 0; i < 5; i++) {
a[i] = i + 100;
}
for (j = 0; j < 5; j++) {
printf("Element[%d] = %d\n", j, a[j]);
}
return 0;
}
आउटपुट
उपरोक्त प्रोग्राम का आउटपुट इस प्रकार है।
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104