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

संरचना सदस्यों के आकार और ऑफसेट को प्रदर्शित करने के लिए एक सी प्रोग्राम लिखें

समस्या

संरचना को परिभाषित करने और सदस्य चर के आकार और ऑफसेट को प्रदर्शित करने के लिए एक सी प्रोग्राम लिखें

संरचना - यह अलग-अलग डेटाटाइप वेरिएबल का एक संग्रह है, जिसे एक ही नाम के तहत एक साथ समूहीकृत किया जाता है।

संरचना घोषणा का सामान्य रूप

datatype member1;
struct tagname{
   datatype member2;
   datatype member n;
};

यहां, स्ट्रक्चर - कीवर्ड

टैगनाम - संरचना का नाम निर्दिष्ट करता है

सदस्य 1, सदस्य 2 - संरचना बनाने वाले डेटा आइटम निर्दिष्ट करता है।

उदाहरण

struct book{
   int pages;
   char author [30];
   float price;
};

संरचना चर

संरचना चर घोषित करने के तीन तरीके हैं -

विधि 1

struct book{
   int pages;
   char author[30];
   float price;
}b;

विधि 2

struct{
   int pages;
   char author[30];
   float price;
}b;

विधि 3

struct book{
   int pages;
   char author[30];
   float price;
};
struct book b;

संरचनाओं को प्रारंभ करना और उन तक पहुंच बनाना

सदस्य ऑपरेटर (या) डॉट ऑपरेटर का उपयोग करके सदस्य और संरचना चर के बीच की कड़ी स्थापित की जाती है।

इनिशियलाइज़ेशन निम्नलिखित तरीकों से किया जा सकता है -

विधि 1

struct book{
   int pages;
   char author[30];
   float price;
} b = {100, "balu", 325.75};

विधि 2

struct book{
   int pages;
   char author[30];
   float price;
};
struct book b = {100, "balu", 325.75};

विधि 3 (सदस्य ऑपरेटर का उपयोग करके)

struct book{
   int pages;
   char author[30];
   float price;
} ;
struct book b;
b. pages = 100;
strcpy (b.author, "balu");
b.price = 325.75;

विधि 4 (स्कैनफ फ़ंक्शन का उपयोग करके)

struct book{
   int pages;
   char author[30];
   float price;
} ;
struct book b;
   scanf ("%d", &b.pages);
   scanf ("%s", b.author);
   scanf ("%f", &b. price);

डेटा सदस्यों के साथ संरचना की घोषणा करें और उनके ऑफ़सेट मानों के साथ-साथ संरचना के आकार को प्रिंट करने का प्रयास करें।

कार्यक्रम

#include<stdio.h>
#include<stddef.h>
struct tutorial{
   int a;
   int b;
   char c[4];
   float d;
   double e;
};
int main(){
   struct tutorial t1;
   printf("the size 'a' is :%d\n",sizeof(t1.a));
   printf("the size 'b' is :%d\n",sizeof(t1.b));
   printf("the size 'c' is :%d\n",sizeof(t1.c));
   printf("the size 'd' is :%d\n",sizeof(t1.d));
   printf("the size 'e' is :%d\n",sizeof(t1.e));
   printf("the offset 'a' is :%d\n",offsetof(struct tutorial,a));
   printf("the offset 'b' is :%d\n",offsetof(struct tutorial,b));
   printf("the offset 'c' is :%d\n",offsetof(struct tutorial,c));
   printf("the offset 'd' is :%d\n",offsetof(struct tutorial,d));
   printf("the offset 'e' is :%d\n\n",offsetof(struct tutorial,e));
   printf("size of the structure tutorial is :%d",sizeof(t1));
   return 0;
}

आउटपुट

the size 'a' is :4
the size 'b' is :4
the size 'c' is :4
the size 'd' is :4
the size 'e' is :8
the offset 'a' is :0
the offset 'b' is :4
the offset 'c' is :8
the offset 'd' is :12
the offset 'e' is :16

size of the structure tutorial is :24

  1. द्विघात समीकरण के मूल ज्ञात करने के लिए C प्रोग्राम कैसे लिखें?

    समस्या सी लैंग्वेज में किसी भी समस्या को हल करने के लिए सॉफ्टवेयर डेवलपमेंट मेथड को लागू करना समाधान द्विघात समीकरण ax2+bx+c के मूल ज्ञात कीजिए। दिए गए द्विघात समीकरण के 2 मूल होंगे। विश्लेषण इनपुट - ए, बी, सी मान आउटपुट − r1, r2 मान प्रक्रिया $r_{1}=\frac{-b+\sqrt{b^2-4ac}}{2a}$ $r_{2}=\frac

  1. जावा प्रोग्राम की संरचना और सदस्य

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

  1. किसी दिए गए डेटाफ़्रेम में इंडेक्स और कॉलम को स्थानांतरित करने के लिए पायथन में एक प्रोग्राम लिखें

    इनपुट - मान लें कि आपके पास डेटाफ़्रेम है, और अनुक्रमणिका और स्तंभों के स्थानान्तरण का परिणाम है, Transposed DataFrame is   0 1 0 1 4 1 2 5 2 3 6 समाधान 1 डेटाफ़्रेम परिभाषित करें द्वि-आयामी सूची डेटा में प्रत्येक तत्व को पुनरावृत्त करने के लिए नेस्टेड सूची समझ सेट करें और इसे परिणाम में