शून्य सूचक और शून्य सूचक के बीच का अंतर यह है कि शून्य सूचक एक मान है और शून्य सूचक एक प्रकार है।
नल पॉइंटर
एक शून्य सूचक का अर्थ है कि यह किसी भी चीज़ की ओर इशारा नहीं कर रहा है। अगर, ऐसा कोई पता नहीं है जो किसी पॉइंटर को असाइन किया गया है, तो उसे शून्य पर सेट करें।
एक सूचक प्रकार, यानी, int *, char * प्रत्येक का एक शून्य सूचक मान होता है।
वाक्य रचना इस प्रकार है -
<data type> *<variable name> = NULL;
उदाहरण के लिए,
int *p = NULL; char *p = '\0';
उदाहरण कार्यक्रम
NULL पॉइंटर के लिए C प्रोग्राम निम्नलिखित है -
#include<stdio.h> int main(){ printf("TutorialPoint C Programming"); int *p = NULL; // ptr is a NULL pointer printf("\n The value of pointer is: %x ", p); return 0; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
TutorialPoint C Programming The value of pointer is: 0
शून्य सूचक
एक शून्य सूचक और कुछ नहीं बल्कि वह है जिसके पास कोई डेटा प्रकार नहीं है। इसे सामान्य प्रयोजन सूचक भी कहा जाता है। यह किसी भी प्रकार के डेटा के पते रख सकता है।
आपका सिंटैक्स इस प्रकार है -
void *<data type>;
उदाहरण के लिए,
void *p; int a; char c;
पी =और ए; //p पूर्णांक सूचक में बदल जाता है क्योंकि इसे पूर्णांक का पता दिया जाता है
पी =और सी; //p कैरेक्टर पॉइंटर में बदल जाता है क्योंकि कैरेक्टर का पता उसे सौंपा जाता है
उदाहरण
शून्य सूचक के लिए सी कार्यक्रम निम्नलिखित है -
#include<stdio.h> int main(){ int a = 10; void *ptr = &a; printf("%d", *(int *)ptr); return 0; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
10