उदाहरण के साथ सी ++ संरचना

विषय - सूची:

Anonim

C ++ में एक संरचना क्या है?

एक STRUCT एक C ++ डेटा संरचना है जिसका उपयोग विभिन्न डेटा प्रकारों के तत्वों को एक साथ संग्रहीत करने के लिए किया जा सकता है। C ++ में, एक संरचना एक उपयोगकर्ता-परिभाषित डेटा प्रकार है। संरचना एक डेटा प्रकार के तहत विभिन्न डेटा प्रकारों के आइटम समूहीकरण के लिए एक डेटा प्रकार बनाती है।

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

मान लीजिए कि आपको किसी के बारे में जानकारी, उनके नाम, नागरिकता और उम्र के बारे में जानकारी संग्रहीत करने की आवश्यकता है। आप डेटा को अलग से संग्रहीत करने के लिए नाम, नागरिकता और आयु जैसे चर बना सकते हैं।

हालाँकि, आपको भविष्य में कई व्यक्तियों के बारे में जानकारी संग्रहीत करने की आवश्यकता हो सकती है। इसका मतलब है कि अलग-अलग व्यक्तियों के लिए चर बनाए जाएंगे। उदाहरण के लिए, name1, नागरिकता 1, age1 आदि। इससे बचने के लिए, एक संरचना बनाना बेहतर है।

इस C ++ ट्यूटोरियल में, आप सीखेंगे:

  • C ++ में एक संरचना क्या है?
  • संरचना का उपयोग कब करें?
  • सी ++ संरचना प्रारंभिक
  • संरचना उदाहरण बनाना
  • संरचना सदस्यों तक पहुँचना
  • पॉइंट टू स्ट्रक्चर
  • फ़ंक्शन तर्क के रूप में संरचना
  • सी ++ संरचना की सीमा

संरचना का उपयोग कब करें?

सी ++ में संरचना का उपयोग करने के कुछ कारण यहां दिए गए हैं।

  • एक संरचना का उपयोग करें जब आपको एक डेटा प्रकार के तहत विभिन्न डेटा प्रकारों के तत्वों को संग्रहीत करने की आवश्यकता होती है।
  • C ++ संरचनाएं संदर्भ प्रकार होने के बजाय एक मूल्य प्रकार हैं। यदि आप निर्माण के बाद अपने डेटा को संशोधित करने का इरादा नहीं रखते हैं तो एक संरचना का उपयोग करें।

सी ++ संरचना प्रारंभिक

C ++ स्ट्रक्चर बनाने के लिए, हम स्ट्रक्चर कीवर्ड का उपयोग करते हैं, उसके बाद पहचानकर्ता होता है। पहचानकर्ता संरचना का नाम बन जाता है। यहाँ C ++ संरचना के निर्माण का सिंटैक्स है:

वाक्य - विन्यास:

struct struct_name{// struct members}

उपरोक्त सिंटैक्स में हमने स्ट्रक्चर कीवर्ड का उपयोग किया है। संरचना_नाम संरचना का नाम है।

संरचना सदस्यों को घुंघराले ब्रेस के भीतर जोड़ा जाता है। ये सदस्य संभवतः विभिन्न डेटा प्रकारों से संबंधित हैं।

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

struct Person{char name[30];int citizenship;int age;}

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

संरचना उदाहरण बनाना

उपर्युक्त उदाहरण में, हमने एक व्यक्ति नाम की एक संरचना बनाई है। हम निम्न प्रकार से एक संरचनात्मक चर बना सकते हैं:

Person p;

पी टाइप पर्सन का एक स्ट्रक्चर वैरिएबल है। हम इस चर का उपयोग संरचना के सदस्यों तक पहुँचने के लिए कर सकते हैं।

संरचना सदस्यों तक पहुँचना

संरचना सदस्यों तक पहुँचने के लिए, हम संरचना और डॉट (।) ऑपरेटर के उदाहरण का उपयोग करते हैं। उदाहरण के लिए, संरचना व्यक्ति की सदस्य आयु तक पहुँचने के लिए:

p.age = 27;

हमने संरचना के उदाहरण, पी का उपयोग करके संरचना व्यक्ति की सदस्य आयु तक पहुँच प्राप्त की है। हमने तब सदस्य की आयु का मान 27 निर्धारित किया है।

उदाहरण 1:

#include using namespace std;struct Person{int citizenship;int age;};int main(void) {struct Person p;p.citizenship = 1;p.age = 27;cout << "Person citizenship: " << p.citizenship << endl;cout << "Person age: " << p.age << endl;return 0;}

आउटपुट:

यहाँ कोड का एक स्क्रीनशॉट है:

कोड स्पष्टीकरण:

  1. इसमें परिभाषित फ़ंक्शन का उपयोग करने के लिए हमारे प्रोग्राम में iostream हेडर फ़ाइल शामिल करें।
  2. अपनी कक्षाओं को बिना बुलाए उपयोग करने के लिए एसटीडी नेमस्पेस शामिल करें।
  3. व्यक्ति नामक एक संरचना बनाएँ।
  4. संरचना शरीर की शुरुआत।
  5. प्रकार पूर्णांक की नागरिकता नामक एक संरचनात्मक सदस्य बनाएँ।
  6. प्रकार पूर्णांक की आयु नामक एक संरचनात्मक सदस्य बनाएँ।
  7. संरचना शरीर का अंत।
  8. मुख्य () फ़ंक्शन को कॉल करें। इस फ़ंक्शन के शरीर के भीतर प्रोग्राम लॉजिक जोड़ा जाना चाहिए।
  9. स्ट्रक्चर पर्सन का एक उदाहरण बनाएं और इसे नाम दें p।
  10. 1 को संरचनात्मक सदस्य नागरिकता का मूल्य निर्धारित करें।
  11. संरचना सदस्य की आयु का मान 27 निर्धारित करें।
  12. कुछ अन्य पाठ के साथ कंसोल पर संरचना सदस्य नागरिकता के मूल्य को प्रिंट करें।
  13. कुछ अन्य पाठ के साथ कंसोल पर संरचना सदस्य की आयु का मान प्रिंट करें।
  14. यदि यह सफलतापूर्वक चलता है, तो प्रोग्राम को एक मूल्य वापस करना चाहिए।
  15. मुख्य () फ़ंक्शन का अंत।

पॉइंट टू स्ट्रक्चर

एक पॉइंटर बनाना संभव है जो एक संरचना की ओर इशारा करता है। यह इसी तरह है कि मूल डेटा प्रकार जैसे कि इंट, फ्लोट, डबल, आदि की ओर इशारा करने वाले बिंदु बनाए जाते हैं। ध्यान दें कि C ++ में एक पॉइंटर एक मेमोरी लोकेशन को स्टोर करेगा।

उदाहरण 2:

#include using namespace std;struct Length{int meters;float centimeters;};int main(){Length *ptr, l;ptr = &l;cout << "Enter meters: ";cin >> (*ptr).meters;cout << "Enter centimeters: ";cin >> (*ptr).centimeters;cout << "Length = " << (*ptr).meters << " meters " << (*ptr).centimeters << " centimeters";return 0;}

आउटपुट:

यहाँ कोड का एक स्क्रीनशॉट है:

कोड स्पष्टीकरण:

  1. अपने कार्यों का उपयोग करने के लिए हमारे कार्यक्रम में iostream हेडर फ़ाइल शामिल करें।
  2. हमारे प्रोग्राम में std नेमस्पेस को शामिल करें, बिना कॉल किए उसकी कक्षाओं का उपयोग करने के लिए।
  3. लंबाई नामक एक संरचना बनाएँ।
  4. संरचनात्मक लंबाई के शरीर की शुरुआत।
  5. पूर्णांक डेटा प्रकार के मीटर नाम का एक संरचनात्मक सदस्य बनाएँ।
  6. प्रकार पूर्णांक के सेंटीमीटर नामक एक संरचनात्मक सदस्य बनाएँ।
  7. संरचनात्मक लंबाई के शरीर का अंत।
  8. मुख्य () फ़ंक्शन को कॉल करें।
  9. मुख्य () फ़ंक्शन के शरीर की शुरुआत।
  10. एक पॉइंटर वैरिएबल बनाएं * ptr और सामान्य वैरिएबल l टाइप की लंबाई।
  11. वेरिएबल l के एड्रेस को हमारे पॉइंटर वेरिएबल में स्टोर करें।
  12. कंसोल पर एक संदेश प्रदर्शित करें, उपयोगकर्ता से चर मीटर के लिए मूल्य दर्ज करने के लिए कह रहा है।
  13. कीबोर्ड द्वारा उपयोगकर्ता द्वारा दर्ज किया गया मान पढ़ें। सदस्य फ़ंक्शन मीटर यहां पॉइंटर चर का उपयोग करके एक्सेस किया गया है।
  14. कंसोल पर एक संदेश प्रदर्शित करें, उपयोगकर्ता को चर सेंटीमीटर के लिए मान दर्ज करने के लिए कह रहा है।
  15. कीबोर्ड द्वारा उपयोगकर्ता द्वारा दर्ज किया गया मान पढ़ें। सदस्य फ़ंक्शन सेंटीमीटर को पॉइंटर चर का उपयोग करके यहां एक्सेस किया गया है।
  16. कुछ अन्य पाठ के साथ कंसोल पर उपयोगकर्ता से पढ़े गए मूल्यों को प्रदर्शित करें।
  17. कार्यक्रम को सफल निष्पादन पर एक मूल्य वापस करना चाहिए।
  18. मुख्य () फ़ंक्शन के शरीर का अंत।

फ़ंक्शन तर्क के रूप में संरचना

आप एक तर्क के रूप में एक फ़ंक्शन को एक संरचना पास कर सकते हैं। यह उसी तरह से किया जाता है जैसे एक सामान्य तर्क को पारित करना। संरचना चर भी एक समारोह में पारित किया जा सकता है। एक अच्छा उदाहरण है जब आपको संरचना सदस्यों के मूल्यों को प्रदर्शित करने की आवश्यकता होती है। आइये इसे प्रदर्शित करते हैं:

उदाहरण 3:

#includeusing namespace std;struct Person{int citizenship;int age;};void func(struct Person p);int main(){struct Person p;p.citizenship = 1;p.age = 27;func(p);return 0;}void func(struct Person p){cout << " Person citizenship: " << p.citizenship<

आउटपुट:

यहाँ कोड का एक स्क्रीनशॉट है:

कोड स्पष्टीकरण:

  1. हमारी फ़ाइल में iostream हैडर फ़ाइल शामिल करें। हम तब त्रुटियों को प्राप्त किए बिना इसके कार्यों का उपयोग करेंगे।
  2. हमारी कक्षाओं के उपयोग के लिए हमारे प्रोग्राम में std नाम स्थान शामिल करें। हमें इसकी कक्षाओं का उपयोग करने के लिए नाम स्थान पर कॉल करने की आवश्यकता नहीं होगी।
  3. व्यक्ति नामक एक संरचना बनाएँ।
  4. संरचना व्यक्ति के शरीर की शुरुआत।
  5. स्ट्रक्चर पर्सन का सदस्य बनाएं। सदस्य का नाम नागरिकता होता है और वह पूर्णांक का होता है।
  6. स्ट्रक्चर पर्सन का सदस्य बनाएं। सदस्य का नाम आयु है और प्रकार पूर्णांक है।
  7. संरचना व्यक्ति के शरीर का अंत।
  8. एक फ़ंक्शन बनाएं जो तर्क के रूप में संरचना व्यक्ति, पी का उदाहरण लेता है।
  9. मुख्य समारोह को बुलाओ। {मुख्य () फ़ंक्शन के शरीर की शुरुआत के निशान।
  10. स्ट्रक्चर पर्सन का एक उदाहरण बनाएं और इसे नाम दें p।
  11. संरचना, पी के उदाहरण का उपयोग करके संरचना सदस्य चर नागरिकता तक पहुंचें, और इसे मान 1 निर्दिष्ट करें।
  12. संरचना, पी के उदाहरण का उपयोग करके संरचना सदस्य चर आयु तक पहुंचें, और इसे मान 27 प्रदान करें।
  13. फ़ंक्शन को कॉल करें और इसे पास करने पर तर्क के रूप में स्ट्रक्चर पर्सन, पी का उदाहरण है।
  14. फ़ंक्शन को सफल निष्पादन पर एक मूल्य वापस करना चाहिए।
  15. मुख्य () फ़ंक्शन के शरीर का अंत।
  16. फंक्शन की बॉडी बनाएं।
  17. फ़ंक्शन के शरीर की शुरुआत।
  18. अन्य पाठ के साथ कंसोल पर नागरिक सदस्य मूल्य को प्रिंट करें और इसे प्रिंट करें।
  19. अन्य पाठ के साथ कंसोल पर उम्र के सदस्य मूल्य को प्रिंट करें और इसे प्रिंट करें।
  20. फ़ंक्शन बॉडी का अंत।

सी ++ संरचना की सीमा

संरचनाओं की सीमाएँ निम्नलिखित हैं:

  • संरचना डेटा प्रकार का निर्माण डेटा प्रकारों की तरह नहीं किया जा सकता है।
  • ऑपरेटर्स जैसे + -, और अन्य का उपयोग संरचना चर पर नहीं किया जा सकता है।
  • संरचनाएँ डेटा छिपाने का समर्थन नहीं करती हैं। किसी संरचना के सदस्यों को इसके दायरे की परवाह किए बिना किसी भी फ़ंक्शन द्वारा पहुँचा जा सकता है।
  • स्टैटिक सदस्यों को संरचना निकाय के अंदर घोषित नहीं किया जा सकता है।
  • एक संरचना के अंदर कन्स्ट्रक्टर्स नहीं बनाए जा सकते हैं।

सारांश:

  • एक संरचना एक डेटा संरचना है जो विभिन्न प्रकार से संबंधित डेटा तत्वों को संग्रहीत करती है।
  • जबकि एक सरणी एक समान प्रकार के डेटा तत्वों को संग्रहीत करता है, एक संरचना विभिन्न प्रकार के डेटा तत्वों को संग्रहीत करती है।
  • जब डेटा तत्वों के मूल्य में बदलाव की उम्मीद नहीं की जाती है तो एक संरचना का उपयोग किया जाना चाहिए।
  • एक संरचना के सदस्यों को डॉट (।) ऑपरेटर का उपयोग करके एक्सेस किया जाता है।
  • हमें संरचना का एक उदाहरण बनाना होगा।
  • C ++ स्ट्रक्चर बनाने के लिए, हम स्ट्रक्चर कीवर्ड का उपयोग करते हैं।
  • एक संरचना की ओर इशारा करने वाले पॉइंटर्स इसी तरह बनाए जाते हैं कि कैसे पॉइंटर्स जो नियमित प्रकारों की ओर इशारा करते हैं, बनाए जाते हैं।
  • एक फ़ंक्शन को एक फ़ंक्शन के तर्क के रूप में उसी तरह से पारित किया जा सकता है जिस तरह से सामान्य फ़ंक्शन पास होते हैं।