एक पॉइंटर और एरे के बारे में विवरण जो उनके अंतर को प्रदर्शित करते हैं, नीचे दिए गए हैं।
सूचक
पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है। जब मेमोरी को एक वेरिएबल में आवंटित किया जाता है, तो पॉइंटर वेरिएबल के मेमोरी एड्रेस को इंगित करता है। यूनरी ऑपरेटर ( * ) का उपयोग पॉइंटर वेरिएबल घोषित करने के लिए किया जाता है।
पॉइंटर डिक्लेरेशन का सिंटैक्स निम्नलिखित है।
datatype *variable_name;
यहां, डेटाटाइप चर का डेटा प्रकार है जैसे int, char, float आदि और चर_नाम उपयोगकर्ता द्वारा दिए गए चर का नाम है।
पॉइंटर्स प्रदर्शित करने वाला एक प्रोग्राम इस प्रकार दिया गया है।
उदाहरण
#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
सरणी
एक सरणी सन्निहित स्मृति स्थानों पर एक ही प्रकार के तत्वों का एक संग्रह है। किसी सरणी में निम्नतम पता पहले तत्व से मेल खाता है जबकि उच्चतम पता अंतिम तत्व से मेल खाता है। ऐरे इंडेक्स शून्य (0) से शुरू होता है और एरे माइनस वन (सरणी आकार -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