C प्रोग्रामिंग में, स्ट्रक्चर्स और यूनियंस उपयोगकर्ता द्वारा परिभाषित डेटा प्रकार हैं जो विभिन्न प्रकार के डेटा तत्वों को एक इकाई के रूप में संग्रहीत करने की अनुमति देते हैं। स्ट्रक्चर्स का उपयोग संबंधित डेटा तत्वों को समूहित करने के लिए किया जाता है, जिससे डेटा को अधिक व्यवस्थित और प्रबंधनीय बनाया जा सके। यूनियंस भी डेटा तत्वों को समूहित करते हैं, लेकिन वे सभी तत्वों को एक ही मेमोरी स्थान पर संग्रहीत करते हैं, जिससे मेमोरी की बचत होती है। इस अध्याय में, हम स्ट्रक्चर्स और यूनियंस के उपयोग, उनकी घोषणा, प्रारंभिककरण, और उनके साथ किए जाने वाले विभिन्न ऑपरेशन्स के बारे में जानेंगे।
स्ट्रक्चर्स का परिचय (Introduction to Structures)
स्ट्रक्चर्स C प्रोग्रामिंग भाषा में एक उपयोगकर्ता द्वारा परिभाषित डेटा प्रकार है जो विभिन्न प्रकार के डेटा तत्वों को एक साथ समूहित करने की अनुमति देता है। स्ट्रक्चर का उपयोग करके, हम संबंधित डेटा तत्वों को एक ही नाम के तहत संग्रहीत कर सकते हैं, जिससे डेटा को प्रबंधित और संगठित करना आसान हो जाता है। स्ट्रक्चर्स का उपयोग तब किया जाता है जब हमें विभिन्न प्रकार के डेटा तत्वों को एक साथ समूहित करने की आवश्यकता होती है, जैसे कि एक छात्र का नाम, आयु, और ग्रेड।
स्ट्रक्चर की घोषणा (Structure Declaration)
स्ट्रक्चर को परिभाषित करने के लिए struct कीवर्ड का उपयोग किया जाता है। स्ट्रक्चर की घोषणा में स्ट्रक्चर का नाम और इसके सदस्यों की सूची शामिल होती है। प्रत्येक सदस्य का अपना डेटा प्रकार होता है।
सिंटैक्स:
उदाहरण:
स्ट्रक्चर वेरिएबल की घोषणा (Declaring Structure Variables)
स्ट्रक्चर वेरिएबल की घोषणा करने के लिए struct कीवर्ड का उपयोग किया जाता है, उसके बाद स्ट्रक्चर का नाम और फिर वेरिएबल का नाम दिया जाता है।
उदाहरण:
स्ट्रक्चर वेरिएबल का प्रारंभिककरण (Initializing Structure Variables)
स्ट्रक्चर वेरिएबल को घोषित करने के बाद, हम उसके सदस्यों को विभिन्न मान असाइन कर सकते हैं। यह प्रक्रिया उसी प्रकार होती है जैसे सामान्य वेरिएबल्स के साथ होती है।
उदाहरण:
स्ट्रक्चर के सदस्यों को एक्सेस करना (Accessing Structure Members)
स्ट्रक्चर के सदस्यों को एक्सेस करने के लिए डॉट (.) ऑपरेटर का उपयोग किया जाता है। डॉट ऑपरेटर का उपयोग स्ट्रक्चर वेरिएबल के नाम के बाद किया जाता है।
उदाहरण:
इस खंड में, हमने स्ट्रक्चर्स का परिचय प्राप्त किया। हमने सीखा कि स्ट्रक्चर को कैसे परिभाषित, घोषित, और प्रारंभिक किया जाता है, और कैसे स्ट्रक्चर के सदस्यों को एक्सेस और असाइन किया जाता है। स्ट्रक्चर्स का उपयोग डेटा को अधिक व्यवस्थित और प्रबंधनीय बनाने में मदद करता है। अगले खंड में, हम यूनियंस के बारे में जानेंगे और उनका उपयोग कैसे किया जाता है, यह सीखेंगे।
स्ट्रक्चर्स के साथ ऑपरेशन्स (Operations with Structures)
स्ट्रक्चर्स C प्रोग्रामिंग में विभिन्न प्रकार के डेटा तत्वों को एक इकाई के रूप में संग्रहीत और प्रबंधित करने की अनुमति देते हैं। स्ट्रक्चर्स के साथ विभिन्न प्रकार के ऑपरेशन्स किए जा सकते हैं, जैसे कि स्ट्रक्चर वेरिएबल्स का असाइनमेंट, फ़ंक्शन्स में स्ट्रक्चर्स को पास करना, और स्ट्रक्चर वेरिएबल्स की तुलना करना। इस खंड में, हम स्ट्रक्चर्स के साथ इन सामान्य ऑपरेशन्स को विस्तार से समझेंगे।
स्ट्रक्चर वेरिएबल्स का असाइनमेंट (Assignment of Structure Variables)
स्ट्रक्चर वेरिएबल्स को एक दूसरे को असाइन किया जा सकता है, बशर्ते कि वे एक ही स्ट्रक्चर प्रकार के हों।
उदाहरण:
फ़ंक्शन्स में स्ट्रक्चर्स को पास करना (Passing Structures to Functions)
स्ट्रक्चर्स को फ़ंक्शन्स में दो तरीकों से पास किया जा सकता है: पास-बाय-वैल्यू और पास-बाय-रेफरेंस। पास-बाय-वैल्यू में स्ट्रक्चर की एक कॉपी फ़ंक्शन में पास की जाती है, जबकि पास-बाय-रेफरेंस में स्ट्रक्चर का मेमोरी एड्रेस पास किया जाता है।
पास-बाय-वैल्यू:
पास-बाय-रेफरेंस:
स्ट्रक्चर वेरिएबल्स की तुलना (Comparison of Structure Variables)
C में, स्ट्रक्चर वेरिएबल्स को सीधे तुलना नहीं किया जा सकता है। इसके लिए हमें उनके सदस्यों को अलग-अलग तुलना करना होता है।
उदाहरण:
इस खंड में, हमने स्ट्रक्चर्स के साथ विभिन्न ऑपरेशन्स के बारे में सीखा। हमने देखा कि स्ट्रक्चर वेरिएबल्स को एक-दूसरे को कैसे असाइन किया जा सकता है, फ़ंक्शन्स में स्ट्रक्चर्स को कैसे पास किया जा सकता है (पास-बाय-वैल्यू और पास-बाय-रेफरेंस), और स्ट्रक्चर वेरिएबल्स की तुलना कैसे की जा सकती है। स्ट्रक्चर्स के साथ काम करने से हमारा प्रोग्राम अधिक संगठित और प्रबंधनीय बनता है। अगले खंड में, हम यूनियंस के बारे में जानेंगे और उनका उपयोग कैसे किया जाता है, यह सीखेंगे।
यूनियंस का परिचय (Introduction to Unions)
यूनियंस C प्रोग्रामिंग में एक उपयोगकर्ता द्वारा परिभाषित डेटा प्रकार है, जो विभिन्न प्रकार के डेटा तत्वों को एक ही मेमोरी स्थान पर संग्रहीत करने की अनुमति देता है। इसका मतलब है कि यूनियंस में सभी सदस्यों को एक ही मेमोरी स्थान साझा करना पड़ता है, और किसी भी समय केवल एक ही सदस्य का मान संग्रहीत किया जा सकता है। यूनियंस का उपयोग मेमोरी की बचत के लिए किया जाता है, विशेष रूप से तब जब हमें एक ही समय में केवल एक डेटा प्रकार की आवश्यकता होती है।
यूनियंस की घोषणा (Union Declaration)
यूनियंस को परिभाषित करने के लिए union कीवर्ड का उपयोग किया जाता है। यूनियन की घोषणा में यूनियन का नाम और इसके सदस्यों की सूची शामिल होती है। प्रत्येक सदस्य का अपना डेटा प्रकार होता है, लेकिन सभी सदस्य एक ही मेमोरी स्थान साझा करते हैं।
सिंटैक्स:
उदाहरण: