पॉइंटर्स और ऐरे C में ज्यादातर समय समान माने जाते हैं। कुछ अंतर हैं:
& ऑपरेटर:
&pointer = पॉइंटर का एड्रेस लौटाता है।
&array = पहले एलिमेंट का एड्रेस लौटाता है।
sizeof ऑपरेटर:
sizeof(array) = ऐरे के सभी एलिमेंट्स द्वारा खपत कुल मेमोरी लौटाता है।
sizeof(pointer) = केवल पॉइंटर वेरिएबल द्वारा खपत मेमोरी लौटाता है।
ऐरे वेरिएबल को मान पुनः असाइन नहीं किया जा सकता जबकि पॉइंटर वेरिएबल को किया जा सकता है।
घोषणा:
int a[]; // ऐरे int *p; // पॉइंटर
मान लीजिए कि एक इंटीजर पॉइंटर वेरिएबल है
int *i;
अब निम्नलिखित असाइनमेंट्स के परिणाम पर विचार करें −
a = &i; // अवैध असाइनमेंट। ऐरे वेरिएबल को अपडेट या संशोधित नहीं किया जा सकता। p = &i; // वैध असाइनमेंट।