C Language in Hindi – Null Pointer

Null Pointer in c in hindi

What is a Null Pointer in c in hindi

एक null pointer एक सूचक है जो किसी भी मेमोरी स्थान को point नहीं करता है। यह खंड (segments) के आधार पते को संग्रहीत करता है। null पॉइंटर मूल रूप से null value को संग्रहीत करता है जबकि void पॉइंटर का प्रकार है।

एक null सूचक एक विशेष reserved मूल्य है जो कि एक stddef header फ़ाइल में परिभाषित किया गया है । यहां, null का अर्थ है कि सूचक 0th मेमोरी स्थान का उल्लेख कर रहा है ।

यदि हमारे पास कोई पता नहीं है जिसे पॉइंटर को सौंपा जाना है, तो इसे एक null पॉइंटर के रूप में जाना जाता है। जब एक NULL मान पॉइंटर को सौंपा जाता है, तो इसे Null पॉइंटर माना जाता है ।

Application of Null Pointer in hindi

निम्नलिखित एक null pointer के application हैं:

  • इसका उपयोग o पॉइंटर वैरिएबल को इनिशियलाइज़ करने के लिए किया जाता है जब पॉइंटर एक valid मेमोरी address की ओर point नहीं करता है।
  • इसका उपयोग पॉइंटर्स को dereference करने से पहले पॉइंटर्स के साथ error handling करने के लिए किया जाता है।
  • इसे एक फ़ंक्शन argument के रूप में और एक फ़ंक्शन से वापस लौटने के लिए पारित किया जाता है जब हम actual मेमोरी address को पास नहीं करना चाहते हैं।

Examples of Null Pointer

int *ptr=(int *)0;

float *ptr=(float *)0;

char *ptr=(char *)0;

double *ptr=(double *)0;

char *ptr=’\0′;

int *ptr=NULL;

आइए उन परिस्थितियों को देखें जहां हमें null pointer का उपयोग करने की आवश्यकता है।

 

  • जब हम पॉइंटर वैरिएबल में कोई मेमोरी address असाइन नहीं करते हैं।

 

  1. #include <stdio.h>  
  2. int main()  
  3. {  
  4.     int *ptr;  
  5.    printf(“Address: %d”, ptr); // printing the value of ptr.  
  6.    printf(“Value: %d”, *ptr); // dereferencing the illegal pointer  
  7.    return 0;  
  8. }  

उपरोक्त कोड में, हम पॉइंटर variable *ptr घोषित करते हैं, लेकिन इसमें किसी भी वेरिएबल का पता नहीं होता है। uninitialized किए गए पॉइंटर वैरिएबल की dereferencing compile-time की error दिखाएगी क्योंकि यह किसी वैरिएबल को point नहीं करता है। stack मेमोरी convept के अनुसार, किसी फ़ंक्शन के local variable को stack में संग्रहीत किया जाता है, और यदि variable में कोई मान नहीं होता है, तो यह garbage value दिखाता है। उपरोक्त program कुछ unpredictable results दिखाता है और program को crash करने का कारण बनता है। इसलिए, हम कह सकते हैं कि किसी प्रोग्राम में uninitialized पॉइंटर को रखने से कंप्यूटर को गंभीर नुकसान हो सकता है।

How to avoid the above situation?

हम Null पॉइंटर का उपयोग करके उपरोक्त स्थिति से बच सकते हैं। null pointer 0th  स्मृति स्थान की ओर point करते हुए एक सूचक है , जो एक आरक्षित मेमोरी है और इसे dereference नहीं किया जा सकता है।

  1. #include <stdio.h>  
  2. int main()  
  3. {  
  4.     int *ptr=NULL;  
  5.     if(ptr!=NULL)  
  6.     {  
  7.         printf(“value of ptr is : %d”,*ptr);  
  8.     }  
  9.     else  
  10.     {  
  11.         printf(“Invalid pointer”);  
  12.     }  
  13.   return 0;  
  14. }  

उपरोक्त कोड में, हम एक पॉइंटर *ptr बनाते हैं और पॉइंटर को एक NULL मान प्रदान करते हैं, जिसका अर्थ है कि यह किसी भी variable को point नहीं करता है। पॉइंटर वैरिएबल बनाने के बाद, हम उस स्थिति को जोड़ते हैं जिसमें हम जांचते हैं कि पॉइंटर का मान null है या नहीं।

  • जब हम malloc() फ़ंक्शन का उपयोग करते हैं।
  1. #include <stdio.h>  
  2. int main()  
  3. {  
  4.     int *ptr;  
  5.     ptr=(int*)malloc(4*sizeof(int));  
  6.     if(ptr==NULL)  
  7.     {  
  8.         printf(“Memory is not allocated”);  
  9.     }  
  10.     else  
  11.     {  
  12.         printf(“Memory is allocated”);  
  13.     }  
  14.     return 0;  
  15. }  

 

उपरोक्त कोड में, हम library फ़ंक्शन का उपयोग करते हैं, अर्थात, malloc() जैसा कि हम जानते हैं, कि malloc() फ़ंक्शन मेमोरी को आवंटित करता है; यदि malloc() फ़ंक्शन मेमोरी को आवंटित करने में सक्षम नहीं है, तो यह NULL पॉइंटर लौटाता है। इसलिए, उस स्थिति को जोड़ना आवश्यक है जो यह जांच करेगा कि pointer का मूल्य null है या नहीं, यदि सूचक का मान null नहीं है, तो इसका अर्थ है कि मेमोरी आवंटित की गई है ।

Null Pointer in C

Leave a Reply

DMCA.com Protection Status