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

सी भाषा में यूनियनों के लिए पॉइंटर्स की व्याख्या करें

एक संघ एक स्मृति स्थान है जिसे विभिन्न डेटा प्रकारों के कई चर द्वारा साझा किया जाता है।

सिंटैक्स

C प्रोग्रामिंग में यूनियनों के लिए पॉइंटर्स का सिंटैक्स इस प्रकार है -

union uniontag{
   datatype member 1;
   datatype member 2;
   ----
   ----
   datatype member n;
};

उदाहरण

निम्नलिखित उदाहरण संरचना के संघ के उपयोग को दर्शाता है।

union sample{
   int a;
   float b;
   char c;
};

संघ चर की घोषणा

संघ चर के लिए घोषणा निम्नलिखित है। यह तीन प्रकार का होता है -

टाइप 1

union sample{
   int a;
   float b;
   char c;
}s;

टाइप 2

union{
   int a;
   float b;
   char c;
}s;

टाइप 3

union sample{
   int a;
   float b;
   char c;
};
union sample s;
  • जब संघ घोषित किया जाता है, तो संकलक संघ में चर रखने के लिए स्वचालित रूप से सबसे बड़ा आकार चर प्रकार बनाता है।

  • किसी भी समय केवल एक चर को संदर्भित किया जा सकता है।

  • संघ के सदस्य तक पहुँचने के लिए संरचना के समान सिंटैक्स का उपयोग किया जाता है।

  • डॉट ऑपरेटर सदस्यों तक पहुँचने के लिए है।

  • एरो ऑपरेटर ( ->) का उपयोग पॉइंटर का उपयोग करके सदस्यों तक पहुँचने के लिए किया जाता है।

हमारे पास यूनियनों के लिए पॉइंटर्स हैं और ऐरो ऑपरेटर (->) का उपयोग करके स्ट्रक्चर्स की तरह सदस्यों तक पहुंच सकते हैं।

उदाहरण

निम्न प्रोग्राम C प्रोग्रामिंग में यूनियन के लिए पॉइंटर्स के उपयोग को दर्शाता है -

#include <stdio.h>
union pointer {
   int num;
   char a;
};
int main(){
   union pointer p1;
   p1.num = 75;
   // p2 is a pointer to union p1
   union pointer* p2 = &p1;
   // Accessing union members using pointer
   printf("%d %c", p2->num, p2->a);
   return 0;
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

75 K

उदाहरण 2

अलग-अलग इनपुट के साथ एक ही उदाहरण पर विचार करें।

#include <stdio.h>
union pointer {
   int num;
   char a;
};
int main(){
   union pointer p1;
   p1.num = 90;
   // p2 is a pointer to union p1
   union pointer* p2 = &p1;
   // Accessing union members using pointer
   printf("%d %c", p2->num, p2->a);
   return 0;
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

90 Z

  1. सी प्रोग्रामिंग भाषा में पॉइंटर्स की सरणी की व्याख्या करें

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

  1. C भाषा में यूनियन टू पॉइंटर को समझाएं

    एक यूनियन को मेमोरी लोकेशन कहा जाता है, जिसे विभिन्न प्रकार के डेटा के कई वेरिएबल द्वारा साझा किया जाता है। सिंटैक्स वाक्य रचना इस प्रकार है - union uniontag{    datatype member 1;    datatype member 2;    ----    ----    datatype member n; }; उदाह

  1. C भाषा में पॉइंटर एक्सेसिंग की अवधारणा की व्याख्या करें

    पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है। सूचक घोषणा, आरंभीकरण और पहुंच निम्नलिखित कथन पर विचार करें - int qty = 179; सूचक घोषित करना int *p; p एक पॉइंटर वेरिएबल है जो दूसरे इंटीजर वेरिएबल का पता रखता है। सूचक का प्रारंभ एड्रेस ऑपरेटर (&) का उपयोग पॉइंटर वेरिएबल को इनिशि