Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी भाषा में पॉइंटर्स के साथ विभिन्न पॉइंटर ऑपरेशंस और समस्याएं क्या हैं?

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

निम्नलिखित कथन पर विचार करें -

int qty = 179;

मेमोरी में वेरिएबल का प्रतिनिधित्व इस प्रकार है -

सी भाषा में पॉइंटर्स के साथ विभिन्न पॉइंटर ऑपरेशंस और समस्याएं क्या हैं?

आप एक पॉइंटर को इस प्रकार घोषित कर सकते हैं -

Int *p;

इसका मतलब है कि 'p' एक पॉइंटर वेरिएबल है जो दूसरे इंटीजर वेरिएबल का पता रखता है।

एड्रेस ऑपरेटर (&) का उपयोग पॉइंटर वेरिएबल को इनिशियलाइज़ करने के लिए किया जाता है।

उदाहरण के लिए -

int qty = 175;
int *p;
p= &qty;

सी भाषा में पॉइंटर्स के साथ विभिन्न पॉइंटर ऑपरेशंस और समस्याएं क्या हैं?

वेरिएबल के मान को एक्सेस करने के लिए, इनडायरेक्शन ऑपरेटर (*) का उपयोग किया जाता है।

उदाहरण के लिए -

सी भाषा में पॉइंटर्स के साथ विभिन्न पॉइंटर ऑपरेशंस और समस्याएं क्या हैं?

'*' को पते पर मान के रूप में माना जा सकता है।

दो कथन निम्नलिखित कथन के समतुल्य हैं -

 p = &qty;
 n = *p; n =qty

विभिन्न सूचक संचालन

सी भाषा में पॉइंटर संचालन नीचे समझाया गया है -

  • असाइनमेंट - हम &(एड्रेस ऑपरेटर) का उपयोग करके पॉइंटर को एड्रेस असाइन कर सकते हैं।

  • मूल्य खोज - यह और कुछ नहीं बल्कि डीरेफ्रेंसिंग है, जहां * ऑपरेटर पॉइंट टू लोकेशन में स्टोर वैल्यू देता है।

  • सूचक पता लेना - अन्य वेरिएबल्स की तरह, पॉइंटर वेरिएबल्स में एक एड्रेस के साथ-साथ एक वैल्यू भी होती है, एड्रेस ऑपरेटर की मदद से हम पा सकते हैं कि पॉइंटर खुद स्टोर किया गया था।

  • सूचक में पूर्णांक जोड़ना - हम + ऑपरेटर का उपयोग किसी पॉइंटर में पूर्णांक या पूर्णांक में पॉइंटर जोड़ने के लिए कर सकते हैं। यहां, दोनों ही मामलों में int को पॉइंट टू टाइप में बाइट्स की संख्या से गुणा किया जाता है, और परिणाम मूल पते में जोड़ा जाता है।

  • सूचक बढ़ाना - यह एक ऐरे एलिमेंट है जो ऐरे के अगले एलिमेंट में ले जाता है।

  • एक पॉइंटर से एक इंट घटाना - हम एक पॉइंटर से एक पूर्णांक घटाने के लिए - (माइनस) ऑपरेटर का उपयोग कर रहे हैं। पूर्णांक को पॉइंट टू टाइप में बाइट्स की संख्या से गुणा किया जाता है, और परिणाम मूल पते से घटा दिया जाता है।

  • सूचक घटाना - डिक्रीमेंटिंग पॉइंटर, पहले के बजाय पिछले स्थान की ओर इशारा करता है, हम डिक्रीमेंट ऑपरेटर के लिए प्री और पोस्टफिक्स दोनों फॉर्म का उपयोग कर सकते हैं।

  • घटाव - हम दो बिंदुओं का अंतर पा सकते हैं। आम तौर पर, हम यह पता लगाते थे कि तत्व कितने अलग हैं।

  • तुलना - हम दो पॉइंटर्स के मानों की तुलना करने के लिए रिलेशनल ऑपरेटर का उपयोग करेंगे।

उदाहरण

सी भाषा में सूचक संचालन के कामकाज को प्रदर्शित करने का कार्यक्रम नीचे दिया गया है -

#include<stdio.h>
main ( ){
   int x,y;
   //Declaring a pointer
   int *p;
   clrscr ( );
   x= 10;
   //Assigning value to a pointer
   p = &x;
   y= *p;
   printf ("Value of x = %d", x);
   printf ("x is stored at address %u", &x);
   printf ("Value of x using pointer = %d", *p);
   printf ("address of x using pointer = %u", p);
   printf (“value of x in y = %d", y);
   *p = 25;
   printf ("now x = %d", x)
   getch ( );
}

आउटपुट

जब आप ऊपर बताए गए प्रोग्राम को निष्पादित करते हैं, तो आपको निम्न आउटपुट मिलता है -

Value of x = 10
x is stored at address = 5000
Address of x using pointer = 10
Address of x using pointer = 5000
Value of x in y = 10
Now x = 25

  1. C भाषा में लूप कंट्रोल स्टेटमेंट क्या हैं? फ्लो चार्ट और प्रोग्राम के साथ समझाएं

    लूप कंट्रोल स्टेटमेंट का उपयोग स्टेटमेंट के सेट को दोहराने के लिए किया जाता है। वे इस प्रकार हैं - लूप के लिए लूप के दौरान डू-जबकि लूप लूप के लिए वाक्य रचना इस प्रकार है - for (initialization ; condition ; increment / decrement){    body of the loop } फ्लो चार्ट लूप के लिए फ्लो चार्ट इ

  1. C भाषा में विभिन्न खोज तकनीकें क्या हैं?

    खोज तकनीक का तात्पर्य तत्वों की सूची के बीच एक प्रमुख तत्व को खोजने से है। यदि दिया गया तत्व सूची में मौजूद है, तो खोज प्रक्रिया को सफल कहा जाता है। यदि दिया गया तत्व सूची में मौजूद नहीं है, तो खोज प्रक्रिया को असफल कहा जाता है। C भाषा दो प्रकार की खोज तकनीक प्रदान करती है। वे इस प्रकार हैं

  1. सी भाषा में निहित और स्पष्ट प्रकार के रूपांतरण क्या हैं?

    एक डेटा प्रकार को दूसरे डेटा प्रकार में परिवर्तित करना प्रकार रूपांतरण कहलाता है। अंतर्निहित प्रकार रूपांतरण स्पष्ट प्रकार का रूपांतरण अंतर्निहित प्रकार रूपांतरण जब ऑपरेंड विभिन्न डेटा प्रकार के होते हैं, तो कंपाइलर निहित प्रकार के रूपांतरण प्रदान करता है। यह छोटे डेटा प्रकार को बड़े डेटा प्