C Language in Hindi – const Pointer

const Pointer in C in Hindi

const Pointer in C in Hindi

Constant Pointers

C में एक constant पॉइंटर वैरिएबल के पते को नहीं बदल सकता है, जिस पर वह point कर रहा है, अर्थात, पता constant रहेगा। इसलिए, हम कह सकते हैं कि यदि कोई constant pointer किसी variable की ओर point करता है, तो यह किसी अन्य variable की ओर point नहीं कर सकता है।

Syntax of Constant Pointer

  1. <type of pointer> *const <name of pointer>;  

Declaration of a constant pointer is given below:

  1. int *const ptr;  

Let’s understand the constant pointer through an example.

  1. #include <stdio.h>  
  2. int main()  
  3. {  
  4.     int a=1;  
  5.     int b=2;  
  6.     int *const ptr;  
  7.     ptr=&a;  
  8.     ptr=&b;  
  9.     printf("Value of ptr is :%d",*ptr);  
  10.     return 0;  
  11. }  

उपरोक्त कोड में:

  • हम क्रमशः, 1 और 2 के साथ दो variables, यानी, a और b घोषित करते हैं।
  • हम एक constant pointer घोषित करते हैं।
  • सबसे पहले, हम पॉइंटर ‘ptr’ को वेरिएबल ‘a’ का पता देते हैं।
  • फिर, हम पॉइंटर ‘ptr’ को वेरिएबल ‘b’ का पता देते हैं।
  • अंत में, हम ‘ptr’ द्वारा ponted variable के मान को प्रिंट करने का प्रयास करते हैं।

Output

const Pointer in C

उपरोक्त आउटपुट में, हम देख सकते हैं कि उपरोक्त कोड “read-only वैरिएबल ‘ptr’ के असाइनमेंट में error उत्पन्न करता है। इसका अर्थ है कि ‘ptr’ के variable का मान जो ‘ptr’ है, को नहीं बदला जा सकता है। उपरोक्त कोड में, हम ‘ptr’ के मान को &a से &b में बदल रहे हैं, जो constant pointers के साथ संभव नहीं है। इसलिए, हम कह सकते हैं कि constant pointers, जो किसी variable की ओर point करता है, दूसरे variable की ओर point नहीं कर सकता है।

Pointer to Constant in hindi

Pointer to Constant एक पॉइंटर होता है, जिसके माध्यम से उस  वेरिएबल का मान नहीं बदला जा सकता है जिस की तरफ पॉइंटर पॉइंट करता है। इन pointers का पता बदला जा सकता है, लेकिन variable के मान नहीं बदले जा सकते हैं।

Syntax of Pointer to Constant

  1. const <type of pointer>* <name of pointer>  

Declaration of a pointer to constant is given below:

  1. const int* ptr;     

आइए एक उदाहरण के माध्यम से समझते हैं।

  • सबसे पहले, हम उस कोड को लिखते हैं जहां हम एक पॉइंटर का मान बदल रहे हैं
  1. #include <stdio.h>  
  2. int main()  
  3. {  
  4.     int a=100;  
  5.     int b=200;  
  6.     const int* ptr;  
  7.     ptr=&a;  
  8.     ptr=&b;  
  9.     printf("Value of ptr is :%u",ptr);  
  10.     return 0;  
  11. }   

उपरोक्त कोड में:

  • हम दो variable, अर्थात्, a और b को क्रमशः 100 और 200 मान के साथ घोषित करते हैं।
  • हम एक पॉइंटर को constant घोषित करते हैं।
  • सबसे पहले, हम पॉइंटर ‘ptr’ को वेरिएबल ‘a’ का पता देते हैं।
  • फिर, हम पॉइंटर ‘ptr’ को वेरिएबल ‘b’ का पता देते हैं।
  • अंत में, हम ‘ptr’ के मान को प्रिंट करने का प्रयास करते हैं।

Output

const Pointer in C

उपरोक्त कोड सफलतापूर्वक चलता है, और यह आउटपुट में ‘ptr’ का मान दिखाता है।

  • अब, हम उस कोड को लिखते हैं जिसमें हम वैरिएबल के मान को बदल रहे हैं, जिसकी तरफ पॉइंटर पॉइंट करता है।
  1. #include <stdio.h>  
  2. int main()  
  3. {  
  4.     int a=100;  
  5.     int b=200;  
  6.     const int* ptr;  
  7.     ptr=&b;  
  8.     *ptr=300;  
  9.     printf("Value of ptr is :%d",*ptr);  
  10.     return 0;  
  11. }  

उपरोक्त कोड में:

  • हम क्रमशः 100 और 200 के मान के साथ दो variables, ‘a’ और ‘b’ घोषित करते हैं।
  • हम एक पॉइंटर को constant घोषित करते हैं।
  • हम pointer ‘ptr’ को variable ‘b’ का address देते हैं।
  • फिर, हम pointer ‘ptr’ के माध्यम से variable ‘b’ के मान को modify करने का प्रयास करते हैं।
  • अंत में, हम उस वेरिएबल के मान को प्रिंट करने का प्रयास करते हैं जो पॉइंटर ‘ptr’ द्वारा point किया गया है।

Output

const Pointer in C

उपरोक्त कोड “read-only लोकेशन ‘*ptr’ के error को दर्शाता है। इस error का मतलब है कि हम उस variable के मान को नहीं बदल सकते हैं जिस पर pointer point कर रहा है।

Constant Pointer to a Constant in hindi

एक constant के लिए एक constant pointer एक pointer है, जो उपरोक्त दो pointers का एक संयोजन है। यह न तो उस variable के पते को बदल सकता है जिस पर वह point कर रहा है और न ही इस पते पर रखे गए मूल्य को बदल सकता है।

Syntax

  1. const <type of pointer>* const <name of the pointer>;  

Declaration for a constant pointer to a constant is given below:

  1. const int* const ptr;  

Let’s understand through an example.

  1. #include <stdio.h>  
  2. int main()  
  3. {  
  4.     int a=10;  
  5.     int b=90;  
  6.     const int* const ptr=&a;  
  7.    *ptr=12;  
  8.     ptr=&b;  
  9.     printf("Value of ptr is :%d",*ptr);  
  10.     return 0;  
  11. }   

 

उपरोक्त कोड में:

  • हम क्रमशः 10 और 90 के मान के साथ दो variables, ‘a’ और ‘b’ घोषित करते हैं।
  • हम एक constant के लिए constant पॉइंटर घोषित करते हैं और फिर ‘a’ का पता देते हैं।
  • हम pointer ‘ptr’ के माध्यम से ‘a’ वेरिएबल के मान को बदलने का प्रयास करते हैं।
  • फिर हम pointer ‘ptr’ के लिए वेरिएबल ‘b’ के address को assign करने की कोशिश करते हैं।
  • अंत में, हम वेरिएबल के मान को प्रिंट करते हैं, जो पॉइंटर ‘ptr’ द्वारा point किया जाता है।

Output

const Pointer in C

उपरोक्त कोड “रीड-ओनली लोकेशन ‘*ptr’ के” error और read-only वेरिएबल ‘ptr’ के assignment को दर्शाता है। इसलिए, हम यह निष्कर्ष निकालते हैं कि constant के लिए constant pointer न तो पता और न ही मान बदल सकता है, जो इस पॉइंटर द्वारा point किया जा रहा है।

Leave a Reply

DMCA.com Protection Status