Pointer in C in Hindi – सी में पॉइंटर क्या है?

इस लेख "Pointer in C in Hindi" में, जानिए सी प्रोग्रामिंग भाषा में पॉइंटर क्या है? इसका उपयोग कैसे करना है, इसके लाभ और विशेषताएं आदि।

Pointer in C in Hindi: C प्रोग्रामिंग भाषा में एक पॉइंटर एक वेरिएबल होता है जिसका उपयोग दूसरे वेरिएबल के पता (address) को स्टोर करने के लिए किया जाता है। मूल रूप से, एक Pointer अनिवार्य रूप से एक साधारण Integer चर (variable) होता है जिसमें एक मेमोरी पता होता है जो वास्तविक मान को रखने के बजाय किसी मान को इंगित करता है।

यदि आप एक परफेक्ट सी प्रोग्रामर बनना चाहते हैं, तो आपको पॉइंटर सीखना चाहिए, क्योंकि कुछ सी प्रोग्रामिंग कार्यों को pointers के साथ अधिक आसानी से किया जाता है, और अन्य कार्यों, जैसे कि गतिशील मेमोरी आवंटन, पॉइंटर्स का उपयोग किए बिना नहीं किया जा सकता है।

नोट: सी भाषा को अच्छी तरह से समझने के लिए नीचे दिए गए वीडियो को देखें, और यह भी पढ़ें कि C Variables क्या है और C Data types को समझें

पॉइंटर क्या है (What is Pointer in Hindi)?

पॉइंटर क्या है (What is Pointer in Hindi)?

कंप्यूटर विज्ञान में, एक पॉइंटर एक चर (variable) है जिसका मूल्य उसी प्रकार के दूसरे चर का पता है। वेरिएबल का मान जिसे पॉइंटर इंगित करता है, को * ऑपरेटर का उपयोग करके dereferencing द्वारा एक्सेस किया जाता है। विभिन्न प्रकार के पॉइंटर्स हैं जैसे null, void, wild, इत्यादि।

उदाहरण के लिए, एक Integer चर एक integer मान रखता है या स्टोर करता है, हालांकि एक integer pointer एक integer चर का पता रखता है।

आइए C Pointer को और अच्छी तरह से समझते है –

सी में पॉइंटर क्या है (Pointer in C in Hindi)

Pointer in C in Hindi (सी में पॉइंटर क्या है)

सी भाषा में, एक पॉइंटर एक वेरिएबल होता है जिसका मान दूसरे वेरिएबल का पता होता है, यानी मेमोरी लोकेशन का सीधा पता। किसी भी चर या स्थिरांक की तरह, आपको किसी भी चर पते को संग्रहीत करने के लिए इसका उपयोग करने से पहले एक Pointer घोषित करना होगा। पॉइंटर चर घोषणा का सामान्य रूप है –

type *var-name;
  • यहाँ कोड में, दिए गए type पॉइंटर का आधार प्रकार है; यह एक वैध सी डेटा प्रकार होना चाहिए और var-name पॉइंटर चर का नाम है।
  • तारक * एक पॉइंटर घोषित करने के लिए प्रयोग किया जाता है वही तारक गुणन के लिए प्रयोग किया जाता है।

मूल रूप से, हमारे प्रोग्राम में परिभाषित प्रत्येक चर मेमोरी में एक विशिष्ट स्थान पर संग्रहीत होता है। मान लें कि हम निम्नलिखित integer को परिभाषित करते हैं:

int n = 50;

हमारे कंप्यूटर की मेमोरी में अब कहीं 4 बाइट्स हैं जिनका बाइनरी मान 50 है, इसके पते के लिए कुछ मान है, 0x123 की तरह (0x123 एक हेक्साडेसिमल संख्या है)।

हम इस पते को अपने सी प्रोग्राम में & ऑपरेटर का उपयोग करके एक्सेस कर सकते हैं।

आइए एक उदाहरण देखें:

#include<stdio.h>
int main()
{
    int n = 50;
    printf("Value of the variable n is: %d\n", n);
    printf("Memory address of the variable n is: %x\n", &n);
    return 0;
}

इसका Output कुछ इस तरह दिखेगा:

Value of the variable n is: 50
Memory address of the variable n is: dcbc14ac

हमें dcbc14ac वेरिएबल n के पते के रूप में मिला है।

Role of a pointer in C in Hindi

Syntax of Pointers in C in Hindi

C में पॉइंटर्स का सिंटैक्स है:

data_type * pointer_variable_name;

सी में कुछ मान्य (valid) पॉइंटर्स घोषणाएं इस प्रकार हैं:

int    *ptr_in;     // pointer to an integer 
char   *ptr_ch ;    // pointer to a character 
double *ptr_dbl;    // pointer to a double 
float  *ptr_fl;     // pointer to a float 

पॉइंटर्स का उपयोग कैसे करें (How to Use Pointers in C)?

  • पॉइंटर जा उपयोग करने के लिए एक पॉइंटर चर घोषित करें।
  • वेरिएबल का पता पॉइंटर को & ऑपरेटर का उपयोग करके assign किया जाता है।
  • *(तारांकन) ऑपरेटर का उपयोग करके मान प्राप्त करने के लिए पॉइंटर चर में पते का उपयोग करें, जो चर के मान को उसके तर्क द्वारा इंगित पते पर लौटाता है।
पॉइंटर्स का उपयोग कैसे करें (How to Use Pointers in C)?

उपरोक्त उदाहरण में, एक चर int i = 4 घोषित किया गया है, चर i का पता 0x7766 है। एक सूचक चर int *ptr=&i घोषित किया गया है। इसमें वेरिएबल int i का पता होता है। *ptr का मान 0x7766 पते पर होगा; वह मान 4 होगा।

पॉइंटर्स का उदाहरण (Example of Pointers in C)

निम्नलिखित कोड का उपयोग करके सी में पॉइंटर्स का चित्रण:

#include <stdio.h>

int main()
{
   int x = 42;     //variable declaration
   int *ptr;      //pointer variable declaration
   ptr = &x;       //store address of variable x in pointer ptr
   //printing the address
   printf("Address stored in a variable ptr is: %x \n", ptr);
   //printing the value
   printf("Value stored in a variable ptr is: %d \n", *ptr);   
   return 0;
}

इसका output कुछ ऐसा आएगा:

Address stored in a variable ptr is: a7a9b45c
Value stored in a variable ptr is: 42

आइए व्याख्या से समझें –

पॉइंटर्स का उदाहरण (Example of Pointers in C)
  • उपरोक्त उदाहरण में, एक int वेरिएबल x पहले घोषित किया गया है।
  • स्मृति स्थान (memory location) जहां चर x घोषित किया गया है वह a7a9b45c है। x में संग्रहीत मान 42 है।
  • पॉइंटर चर ptr को * प्रतीक का उपयोग करके घोषित किया गया है, जैसा कि उल्लेख किया गया है कि पॉइंटर का डेटा प्रकार भी उसी चर के समान होगा जिसे वह इंगित करेगा।
  • इसमें ptr = &x, & ऑपरेटर का उपयोग करके x वेरिएबल का पता ptr में स्टोर किया जाता है।
  • x में संग्रहीत मान को * ऑपरेटर का उपयोग करके एक्सेस किया जाता है, *ptr स्थान a7a9b45c, यानी 42 पर मान देगा।

C में पॉइंटर्स के प्रकार (Types of Pointers in C)

C में पॉइंटर्स के प्रकार (Types of Pointers in C)

C भाषा में पॉइंटर्स मुख्य रूप से चार प्रकार के होते हैं, वे हैं:

  1. Null पॉइंटर।
  2. Void पॉइंटर।
  3. Wild पॉइंटर।
  4. Dangling पॉइंटर।

आइए इन पॉइंटर्स को समझते है –

सी पॉइंटर्स का नामपॉइंटर्स का परिभाषा
Null पॉइंटरएक Null पॉइंटर का एक आरक्षित मान होता है जिसे यह इंगित करने के लिए एक नल पॉइंटर स्थिरांक कहा जाता है कि पॉइंटर किसी मान्य ऑब्जेक्ट या फ़ंक्शन को इंगित नहीं करता है। मूल रूप से, यदि आप किसी पॉइंटर की घोषणा के दौरान एक NULL मान निर्दिष्ट करते हैं, तो इसे नल पॉइंटर कहा जाता है।
Void पॉइंटरसी में Void पॉइंटर एक सूचक है जो किसी भी डेटा प्रकार से संबद्ध नहीं है। यह स्टोरेज में कुछ डेटा लोकेशन की ओर इशारा करता है। जब एक पॉइंटर को एक void कीवर्ड के साथ घोषित किया जाता है, तो इसे एक Void पॉइंटर कहा जाता है।
Wild पॉइंटरएक वाइल्ड पॉइंटर केवल घोषित किया जाता है लेकिन किसी भी चर का पता नहीं सौंपा जाता है। यह पॉइंटर्स से अलग होते हैं यानी वे मेमोरी एड्रेस को भी स्टोर करते हैं लेकिन असंबद्ध मेमोरी या डेटा वैल्यू को इंगित करते हैं जिसे हटा दिया गया है। ऐसे पॉइंटर्स को Wild Pointers के रूप में जाना जाता है।
Dangling पॉइंटरडेलोकेटेड मेमोरी ब्लॉक की ओर इशारा करने वाले पॉइंटर्स को डैंगलिंग पॉइंटर्स के रूप में जाना जाता है। यह स्थिति एक त्रुटि उत्पन्न करती है जिसे डैंगलिंग पॉइंटर समस्या के रूप में जाना जाता है।
सी पॉइंटर्स के प्रकार

सी में पॉइंटर्स का उपयोग करने के लाभ

C भाषा में पॉइंटर्स का उपयोग करने का लाभ (advantages) इस प्रकार है:

  • मेमोरी लोकेशन एक्सेस के लिए पॉइंटर्स मददगार होते हैं।
  • डेटा संरचनाएं जैसे graphs, free, linked lists इत्यादि, पॉइंटर्स का उपयोग करके बनाई जा सकती हैं।
  • गतिशील स्थान आवंटन (मॉलोक, आदि) के लिए पॉइंटर्स का उपयोग किया जा सकता है, और स्थान को भी हटाया जा सकता है।
  • पॉइंटर्स फ़ंक्शन के संदर्भों की अनुमति देते हैं और इस प्रकार फ़ंक्शन को अन्य कार्यों के लिए तर्क के रूप में पारित करने में मदद करते हैं।

पॉइंटर्स की विशेषताएं (Features of Pointers in C)

  • पॉइंटर्स किसी प्रोग्राम की निष्पादन गति को बढ़ाते हैं।
  • यह प्रोग्राम को सरल बनाते हैं और उनकी लंबाई कम करते हैं।
  • पॉइंटर्स arrays और कैरेक्टर स्ट्रिंग्स के माध्यम से ट्रैवर्स करने में सहायक होते हैं।
  • इसके माध्यम से स्ट्रिंग्स का संग्रहण मेमोरी स्पेस बचाता है।
  • यह विभिन्न प्रकार की objects जैसे variables, functions, structures, arrays आदि के संदर्भ के रूप में भी कार्य करते हैं।

Free C Programming Course In Hindi

यदि आप सी प्रोग्रामिंग भाषा सीखना चाहते हैं, तो यहां हमारा निशुल्क (Free) सी भाषा पाठ्यक्रम ट्यूटोरियल है, अपना समय बर्बाद न करें “सी कोर्स इन हिंदी” पर क्लिक करके अभी शुरू करें।

निष्कर्ष

पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के मेमोरी एड्रेस को उसके वैल्यू के रूप में स्टोर करता है। एक पॉइंटर वेरिएबल एक ही प्रकार के डेटा प्रकार (जैसे int) को इंगित करता है, और * ऑपरेटर के साथ बनाया जाता है।

मुझे उम्मीद है कि यह लेख “Pointer in C in Hindi”, आपको सी प्रोग्रामिंग भाषा में पॉइंटर क्या है यह समझने में मदद किया है साथ में इसका उपयोग कैसे करना है, इसके लाभ और विशेषताएं को भी अपने समझा हैं।

  • यदि आपके पास सी पॉइंटर से संबंधित कोई प्रश्न है या आप सी प्रोग्रामिंग पीडीएफ नोट्स डाउनलोड करना चाहते हैं तो हमारे टेलीग्राम चैनल से जुड़ें।
पिछला लेखसॉफ्टवेयर इंजीनियरिंग क्या है? Software Engineering in Hindi
अगला लेखFeatures of HTML in Hindi – HTML में विशेषता क्या है
वह एक पेशेवर वेब और ऐप डेवलपर और भारतीय ब्लॉगर हैं। वह लोगों की मदद करना और उनका मार्गदर्शन करना पसंद करते हैं। इसलिए वह इस ब्लॉग "ट्यूटोरियल इन हिंदी" में अपना ज्ञान हिंदी भाषा में साझा करते हैं। अगर आपको यह पोस्ट मददगार लगे तो इसे शेयर जरूर करें।

कोई जवाब दें

कृपया अपनी टिप्पणी दर्ज करें!
कृपया अपना नाम यहाँ दर्ज करें

twelve − five =