संरचना विभिन्न डेटाटाइप चर का एक संग्रह है, जिसे एक ही नाम के तहत समूहीकृत किया गया है।
संरचना की विशेषताएं
सी प्रोग्रामिंग भाषा में संरचना की विशेषताएं इस प्रकार हैं -
-
असाइनमेंट ऑपरेटर का उपयोग करके विभिन्न डेटाटाइप के सभी संरचना तत्वों की सामग्री को इसके प्रकार के किसी अन्य संरचना चर में कॉपी करना संभव है।
-
जटिल डेटाटाइप को संभालने के लिए, किसी अन्य संरचना के भीतर संरचना बनाना बेहतर होता है, जिसे नेस्टेड संरचनाएं कहा जाता है।
-
एक फ़ंक्शन के लिए एक संपूर्ण संरचना, संरचना के अलग-अलग तत्वों और संरचना के पते को पारित करना संभव है।
-
स्ट्रक्चर पॉइंटर्स बनाना संभव है।
कार्यक्रम
निम्नलिखित सी प्रोग्राम है संरचनाओं का उपयोग करके एक इन्वेंट्री सिस्टम को स्टोर करने के लिए -
#include<stdio.h> #include<conio.h> void main(){ struct date{ int day; int month; int year; }; struct details{ char name[20]; int price; int code; int qty; struct date mfg; }; struct details item[50]; int n,i; printf("Enter number of items:"); scanf("%d",&n); fflush(stdin); for(i=0;i<n;i++){ fflush(stdin); printf("Item name:"); scanf("%s",item[i].name); fflush(stdin); printf("Item code:"); scanf("%d",&item[i].code); fflush(stdin); printf("Quantity:"); scanf("%d",&item[i].qty); fflush(stdin); printf("price:"); scanf("%d",&item[i].price); fflush(stdin); printf("Manufacturing date(dd-mm-yyyy):"); scanf("%d-%d-%d",&item[i].mfg.day,&item[i].mfg.month,&item[i].mfg.year); } printf(" ***** INVENTORY *****\n"); printf("------------------------------------------------------------------\n"); printf("S.N.| NAME | CODE | QUANTITY | PRICE |MFG.DATE\n"); printf("------------------------------------------------------------------\n"); for(i=0;i<n;i++) printf("%d %-15s %-d %-5d %-5d%d/%d/%d\n",i+1,item[i].name,item[i].code,item[i].qty,item[i].price,item[i].mfg.day,item[i].mfg.month,item[i].mfg.year); printf("------------------------------------------------------------------\n"); getch(); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Enter number of items:5 Item name:pen Item code:12 Quantity:50 price:25 Manufacturing date(dd-mm-yyyy):12-02-2020 Item name:pencil Item code:15 Quantity:100 price:30 Manufacturing date(dd-mm-yyyy):11-03-2020 Item name:book Item code:34 Quantity:30 price:60 Manufacturing date(dd-mm-yyyy):15-04-2020 Item name:bag Item code:39 Quantity:20 price:70 Manufacturing date(dd-mm-yyyy):12-03-2021 Item name:sharpner Item code:33 Quantity:20 price:40 Manufacturing date(dd-mm-yyyy):12-04-2021 ***** INVENTORY ***** ------------------------------------------------------------------ S.N.| NAME | CODE | QUANTITY | PRICE |MFG.DATE ------------------------------------------------------------------ 1 pen 12 50 25 12/2/2020 2 pencil 15 100 30 11/3/2020 3 book 34 30 60 15/4/2020 4 bag 39 20 70 12/3/2021 5 sharpner 33 20 40 12/4/2021