structure in c in hindi

प्रोग्रामिंग की दुनिया में, संबंधित डेटा को व्यवस्थित करने और हेरफेर करने में संरचनाएं महत्वपूर्ण भूमिका निभाती हैं। वे एकल उपयोगकर्ता-परिभाषित डेटा प्रकार के तहत विभिन्न चरों को समूहित करने का एक तरीका प्रदान करते हैं। इस लेख में, हम सी प्रोग्रामिंग भाषा में संरचनाओं की अवधारणा का पता लगाएंगे और समझेंगे कि कोड संगठन और दक्षता को बढ़ाने के लिए उनका उपयोग कैसे किया जा सकता है।

structure in c in hindi
structure in c in hindi


what is structure in c in hindi

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

एक संरचना की घोषणा और परिभाषा

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

struct Person {
    char name[50];
    int age;
    float height;
};

इस उदाहरण में, हम नामक संरचना को परिभाषित करते हैंव्यक्ति तीन सदस्यों के साथ:नाम,आयु, औरऊंचाई.नाम सदस्य पात्रों की एक सरणी है, जबकिआयु एक पूर्णांक है औरऊंचाई फ्लोटिंग-पॉइंट नंबर है।

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

एक बार एक संरचना परिभाषित हो जाने के बाद, आप डॉट का उपयोग करके इसके सदस्यों तक पहुँच सकते हैं (.) ऑपरेटर। उदाहरण के लिए, a के सदस्यों को मान असाइन करने के लिएव्यक्ति संरचना, आप लिखेंगे:

struct Person person1;
strcpy(person1.name, "John Doe");
person1.age = 25;
person1.height = 175.5;

के सदस्यों तक पहुँचने के लिएव्यक्ति 1 संरचना, आप प्रयोग करेंगे:

printf("Name: %s\n", person1.name);
printf("Age: %d\n", person1.age);
printf("Height: %.2f\n", person1.height);

एक संरचना की शुरुआत

आप घोषणा के दौरान संरचना को प्रारंभ कर सकते हैं या बाद में इसके सदस्यों को मान निर्दिष्ट कर सकते हैं। घोषणा के दौरान एक संरचना को आरंभ करने के लिए, आप कर्ली ब्रेसिज़ में मान संलग्न करते हैं{}. उदाहरण के लिए:

struct Person person2 = {"Jane Smith", 30, 165.2};

आप पिछले उदाहरण के समान, घोषणा के बाद व्यक्तिगत रूप से संरचना सदस्यों को मान भी दे सकते हैं।

नेस्टेड संरचनाएं

संरचनाओं को अन्य संरचनाओं के भीतर नेस्ट किया जा सकता है, जिससे आप अधिक जटिल डेटा संरचनाएँ बना सकते हैं। उदाहरण के लिए, आप नामक संरचना को परिभाषित कर सकते हैंपता और इसके अंदर नेस्ट करेंव्यक्ति संरचना:

struct Address {
    char street[50];
    char city[50];
    char state[20];
    int postalCode;
};

struct Person {
    char name[50];
    int age;
    float height;
    struct Address address;
};

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

आप संरचनाओं को सी में कार्यों के तर्क के रूप में पास कर सकते हैं। संरचनाओं को पारित करके, आप फ़ंक्शन के भीतर संरचना की सामग्री को संशोधित कर सकते हैं। यह किसी फ़ंक्शन से एकाधिक मान वापस करने की आवश्यकता से बचाता है। यहाँ एक उदाहरण है:

void printPerson(struct Person p) {
    printf("Name: %s\n", p.name);
    printf("Age: %d\n", p.age);
    printf("Height: %.2f\n", p.height);
}

// Usage
struct Person person3 = {"Mark Johnson", 35, 180.0};
printPerson(person3);

कार्यों से संरचनाएं लौटना

संरचनाओं को तर्क के रूप में पारित करने के अलावा, आप संरचनाओं को कार्यों से भी वापस कर सकते हैं। हालांकि, सी में सीधे एक संरचना वापस करने की अनुमति नहीं है। इसके बजाय, आप संरचना के लिए एक सूचक वापस कर सकते हैं। यहाँ एक उदाहरण है:

struct Person* createPerson(char name[], int age, float height) {
    struct Person* p = malloc(sizeof(struct Person));
    strcpy(p->name, name);
    p->age = age;
    p->height = height;
    return p;
}

// Usage
struct Person* person4 = createPerson("Emily Williams", 28, 160.5);

संरचनाओं की सरणियाँ

C आपको संरचनाओं की सरणियाँ बनाने की अनुमति देता है, जहाँ सरणी का प्रत्येक तत्व एक संरचना है। एक ही प्रकार की कई संस्थाओं के साथ व्यवहार करते समय यह उपयोगी हो सकता है। यहाँ एक उदाहरण है:

struct Person people[5];

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

संरचनाओं के लिए संकेत

आप संरचनाओं तक पहुँचने और हेरफेर करने के लिए पॉइंटर्स का भी उपयोग कर सकते हैं। संकेतकों का उपयोग करके, आप संरचना डेटा की अनावश्यक प्रतिलिपि से बच सकते हैं। यहाँ एक उदाहरण है:

struct Person* ptrPerson = &person1;
printf("Name: %s\n", ptrPerson->name);
printf("Age: %d\n", ptrPerson->age);
printf("Height: %.2f\n", ptrPerson->height);

इस उदाहरण में, हम एक सूचक बनाते हैंptrPerson जो की ओर इशारा करता हैव्यक्ति 1 संरचना। तीर (->) ऑपरेटर का उपयोग पॉइंटर के माध्यम से सदस्यों तक पहुँचने के लिए किया जाता है।

संरचनाओं के लिए मेमोरी आवंटन

संरचनाओं के साथ काम करते समय, आपको उन्हें स्टोर करने के लिए गतिशील रूप से स्मृति आवंटित करने की आवश्यकता हो सकती है। आप उपयोग कर सकते हैंमॉलोक () संरचना के लिए स्मृति आवंटित करने के लिए कार्य। यहाँ एक उदाहरण है:

struct Person* person5 = malloc(sizeof(struct Person));

का उपयोग करके आवंटित स्मृति को मुक्त करना याद रखेंमुक्त() कार्य करें जब आपको अब संरचना की आवश्यकता नहीं है।

संरचनाएं और फ़ाइल हैंडलिंग

फ़ाइल इनपुट और आउटपुट ऑपरेशंस से निपटने के दौरान संरचनाएं उपयोगी हो सकती हैं। आप कार्यों का उपयोग करके फ़ाइलों को संरचनाओं को पढ़ और लिख सकते हैंfwrite () औरफ़्रेड (). यह आपको बाह्य संग्रहण से संरचित डेटा को सहेजने और पुनः प्राप्त करने की अनुमति देता है।

संरचना का आकार और गद्दी

पैडिंग के कारण स्मृति में संरचना का आकार उसके सदस्यों के आकार का योग नहीं हो सकता है। सी कंपाइलर कुशल पहुंच के लिए उचित मेमोरी संरेखण सुनिश्चित करने के लिए पैडिंग जोड़ता है। आप उपयोग कर सकते हैंका आकार एक संरचना के आकार का निर्धारण करने के लिए ऑपरेटर।

संरचना बनाम संघ

संरचनाओं के अतिरिक्त, सी संघ भी प्रदान करता है, जो अवधारणा में समान हैं लेकिन विशिष्ट विशेषताएं हैं। जबकि संरचनाएं प्रत्येक सदस्य के लिए मेमोरी आवंटित करती हैं, यूनियन सदस्यों के बीच मेमोरी स्पेस साझा करते हैं। संरचनाओं और यूनियनों के बीच चुनाव आपके कार्यक्रम की विशिष्ट आवश्यकताओं पर निर्भर करता है।

निष्कर्ष

अंत में, सी प्रोग्रामिंग भाषा में संरचनाएं एक शक्तिशाली विशेषता है जो आपको संबंधित डेटा को कस्टम डेटा प्रकारों में व्यवस्थित करने की अनुमति देती है। संरचनाओं का उपयोग करके, आप कोड स्पष्टता में सुधार कर सकते हैं, डेटा संगठन को बढ़ा सकते हैं और अधिक कुशल प्रोग्राम बना सकते हैं। प्रभावी सी प्रोग्राम लिखने के लिए संरचनाओं को घोषित करना, एक्सेस करना, प्रारंभ करना और हेरफेर करना समझना आवश्यक है।

पूछे जाने वाले प्रश्न

क्या एक संरचना में उसी प्रकार की दूसरी संरचना हो सकती है?
हाँ, संरचनाओं को अन्य संरचनाओं के भीतर नेस्ट किया जा सकता है, जिससे आप जटिल डेटा संरचनाएँ बना सकते हैं।

प्रतिलिपि बनाए बिना मैं किसी फ़ंक्शन को संरचना कैसे पास कर सकता हूं?
अनावश्यक प्रतिलिपि से बचने के लिए आप फ़ंक्शन तर्क के रूप में संरचना के लिए एक सूचक पास कर सकते हैं।

सी में संरचना और संघ के बीच क्या अंतर है?
जबकि संरचनाएं प्रत्येक सदस्य के लिए मेमोरी आवंटित करती हैं, यूनियन सदस्यों के बीच मेमोरी स्पेस साझा करते हैं। संरचनाओं का उपयोग समूह से संबंधित चर के लिए किया जाता है, जबकि यूनियनों का उपयोग विभिन्न डेटा प्रकारों के लिए समान मेमोरी स्पेस का उपयोग करके मेमोरी को बचाने के लिए किया जाता है।

क्या मैं सी में किसी फ़ंक्शन से सीधे संरचना वापस कर सकता हूं?
नहीं, आप सीधे संरचना वापस नहीं कर सकते हैं। इसके बजाय, आप संरचना के लिए एक सूचक वापस कर सकते हैं।

मैं सी में संरचना का आकार कैसे निर्धारित कर सकता हूं?
आप का उपयोग कर सकते हैंका आकार स्मृति में संरचना के आकार को निर्धारित करने के लिए ऑपरेटर।

Tags

एक टिप्पणी भेजें

0 टिप्पणियाँ
* Please Don't Spam Here. All the Comments are Reviewed by Admin.