Pointer in C in Hindi: C प्रोग्रामिंग भाषा में एक पॉइंटर एक वेरिएबल होता है जिसका उपयोग दूसरे वेरिएबल के पता (address) को स्टोर करने के लिए किया जाता है। मूल रूप से, एक Pointer अनिवार्य रूप से एक साधारण Integer चर (variable) होता है जिसमें एक मेमोरी पता होता है जो वास्तविक मान को रखने के बजाय किसी मान को इंगित करता है।
यदि आप एक परफेक्ट सी प्रोग्रामर बनना चाहते हैं, तो आपको पॉइंटर सीखना चाहिए, क्योंकि कुछ सी प्रोग्रामिंग कार्यों को pointers के साथ अधिक आसानी से किया जाता है, और अन्य कार्यों, जैसे कि गतिशील मेमोरी आवंटन, पॉइंटर्स का उपयोग किए बिना नहीं किया जा सकता है।
नोट: सी भाषा को अच्छी तरह से समझने के लिए नीचे दिए गए वीडियो को देखें, और यह भी पढ़ें कि C Variables क्या है और C Data types को समझें।
Table of Contents
पॉइंटर क्या है (What is Pointer in Hindi)?

कंप्यूटर विज्ञान में, एक पॉइंटर एक चर (variable) है जिसका मूल्य उसी प्रकार के दूसरे चर का पता है। वेरिएबल का मान जिसे पॉइंटर इंगित करता है, को *
ऑपरेटर का उपयोग करके dereferencing द्वारा एक्सेस किया जाता है। विभिन्न प्रकार के पॉइंटर्स हैं जैसे null
, void
, wild
, इत्यादि।
उदाहरण के लिए, एक Integer चर एक integer मान रखता है या स्टोर करता है, हालांकि एक integer pointer एक integer चर का पता रखता है।
आइए C Pointer को और अच्छी तरह से समझते है –
सी में पॉइंटर क्या है (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 के पते के रूप में मिला है।
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 किया जाता है।
- *(तारांकन) ऑपरेटर का उपयोग करके मान प्राप्त करने के लिए पॉइंटर चर में पते का उपयोग करें, जो चर के मान को उसके तर्क द्वारा इंगित पते पर लौटाता है।
उपरोक्त उदाहरण में, एक चर 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
आइए व्याख्या से समझें –
- उपरोक्त उदाहरण में, एक int वेरिएबल x पहले घोषित किया गया है।
- स्मृति स्थान (memory location) जहां चर x घोषित किया गया है वह a7a9b45c है। x में संग्रहीत मान 42 है।
- पॉइंटर चर ptr को * प्रतीक का उपयोग करके घोषित किया गया है, जैसा कि उल्लेख किया गया है कि पॉइंटर का डेटा प्रकार भी उसी चर के समान होगा जिसे वह इंगित करेगा।
- इसमें ptr = &x, & ऑपरेटर का उपयोग करके x वेरिएबल का पता ptr में स्टोर किया जाता है।
- x में संग्रहीत मान को * ऑपरेटर का उपयोग करके एक्सेस किया जाता है, *ptr स्थान a7a9b45c, यानी 42 पर मान देगा।
C में पॉइंटर्स के प्रकार (Types of Pointers in C)
C भाषा में पॉइंटर्स मुख्य रूप से चार प्रकार के होते हैं, वे हैं:
- Null पॉइंटर।
- Void पॉइंटर।
- Wild पॉइंटर।
- 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”, आपको सी प्रोग्रामिंग भाषा में पॉइंटर क्या है यह समझने में मदद किया है साथ में इसका उपयोग कैसे करना है, इसके लाभ और विशेषताएं को भी अपने समझा हैं।
- यदि आपके पास सी पॉइंटर से संबंधित कोई प्रश्न है या आप सी प्रोग्रामिंग पीडीएफ नोट्स डाउनलोड करना चाहते हैं तो हमारे टेलीग्राम चैनल से जुड़ें।