हैलो दोस्तों, आज की पोस्ट में हम जानेंगे कि C language में pointer क्या है? ( What is pointer in C language in hindi )। इस पोस्ट के बाद pointer से related सारे doubts clear हो जाएंगे।
What is pointer in C language in hindi ( C language में प्वाइंटर क्या है)
Pointer एक स्पेशल derived डाटा टाइप होता है जो किसी अन्य वेरिएबल का एड्रेस होल्ड करता है । यह अलग-अलग प्रकार का ( जैसे int, char, float, function etc) होता है । इसका size कंप्यूटर के architecture पर depend करता है जैसे 32 bit architecture के लिए यह 2 bytes लेता है। C language में प्वाइंटर को ' * ' symbol के द्वारा denote किया जाता है।
Example- int *ptr=p;
यहां पर ptr एक प्वाइंटर है, जो की integer type का है। यह variable 'p' का एड्रेस होल्ड करता है। इसके द्वारा variable 'p' का एड्रेस तथा वैल्यू दोनों प्रिंट किया जा सकता है।
Declaring A pointer( pointer को declare करना)
अन्य सभी data types की तरह pointer को भी declair करने की आवश्यकता होती है, pointer का declaration syntax निम्न है
Syntax:-
Data_types *pointer_name;
Example:-
Int *makrs;
जहां data type, int, float या char में से हो सकता है, तथा pointer name, user द्वारा दिया गया कोई नाम होता है, * symbol यह बताता है कि लिया गया variable एक प्वाइंटर है।
Difference between '&' and '*' operators ( & तथा * ऑपरेटर के बीच अंतर )
- '&' को address of operator कहा जाता है, यह किसी variable का address बताता है। इसका use keyboard से value लेकर value को उस variable के द्वारा होल्ड किए गए address पर store करने में किया जाता है।
- जबकि '*' एक pointer operator है, जो किसी दूसरे variable का address बताता है। इसे " value of " पढ़ा जाता है। इसे derefrence operator और indirection operator भी कहा जाता है। इसका use किसी pointer में hold variable की value को print करने के लिए भी किया जा सकता है।
Example :
#include<stdio.h>#include<conio.h>int main(){int p=27;int *ptr=&p;printf("value of p=%d",*ptr);getch();return 0;}
Output:-
Value of p=27
इसे प्रिंट करने पर यह Pointer 'p' में स्टोर value को प्रिंट करेगा।
NULL Pointer ( NULL प्वाइंटर क्या है)
वह pointer जिसे कोई भी वैल्यू assign नहीं की गई हो NULL प्वाइंटर कहलाता है। C प्रोग्रामिंग में NULL प्वाइंटर किसी भी वेरिएबल का एड्रेस piont नहीं करता है। इसे प्रिंट करने पर यह garbage वैल्यू प्रिंट कर सकता है, अतः इसे हमेशा NULL वैल्यू assign की जाती है।
Int *ptr=NULL;
Advantages of pointer in hindi ( Pointer के लाभ)
- Dynamic memory allocation में इनका use किया जाता है। बिना pionter के dynamic memory allocation संभव नहीं है।
- Array, Function तथा Structure में भी इनका use किया जाता है।
- यह प्रोग्राम code को reduce करता है, अर्थात् कोड के size को छोटा कर देता है।
- इसके द्वारा किसी variable के मेमोरी एड्रेस को direct access किया जा सकता है।
- प्रोग्राम के execution time को कम करता है।
- Call by reference method में दो फंक्शन के बीच वैल्यू paas करने के लिए pointer का use Kiya जाता है।
Disadvantages of pointer in hindi ( pionter की हानियां )
- यह अन्य अन्य वेरिएबल्स की तुलना में slow होते हैं।
- Pointer को कोई वैल्यू assign नही करने पर यह garbage value return करता है, इसलिए NULL Pointer का उसे करना पड़ता है।
Arithmetic operations on Pointer ( Pointer के साथ arithmetic operations )
Pointer के साथ केवल कुछ ही arithmetic operations किए जा सकते हैं, जो कि निम्न हैं
- किसी प्वाइंटर में integer value जोड़ना (+)
- किसी प्वाइंटर से integer value घटाना (-)
- एक pointer ko दूसरे pointer से घटना(-)
- किसी pointer में एक का increament करना (++)
- किसी pointer में एक का decreament करना(- -)
Conclusion:-
दोस्तों उम्मीद करता हूं कि हमारी यह पोस्ट what is pointer in C language in hindi आपको पसंद आई और आपके pointer से related सारे doubts clear हो गए होंगे। आप अपने विचार कमेंट बॉक्स में लिख सकते हैं। आप हमे कोई topic भी suggest कर सकते हैं, हम कोशिश करेंगे कि जल्दी से जल्दी उस पर एक पोस्ट बना सके।
very informative blog
ReplyDeleteIT information in hindi really hepful for students to understand.
Thank you for your support ❤️
DeleteNice information Bhai
ReplyDeleteThank you bhai
DeleteHii bro...as you have mentioned in first point in arithmetic operations on pointers that किसी प्वाइंटर को दूसरे प्वाइंटर से जोड़ना (+).. that is not possible...only subtraction is possible between two pointers, so please me correction if it is possible.
ReplyDeleteHowever we can do pointer addition with any any integer value.
Hey Atul Thanks for your comment, And you are right adding a pointer to pointer in illegal in C
ReplyDeleteThanks for correcting me.