मेरे ज्ञान के अनुसार, डिफ़ॉल्ट रूप से 4-बाइट संरेखण किया जाएगा। कहते हैं किइस मामले में पैडिंग क्यों नहीं हो रही है?
typedef struct
{
int data7;
unsigned char data8;
//3 -bytes will be added here.
}Sample1;
तो sizeof(Sample1)
हो जाएगा 8.
लेकिन निम्नलिखित संरचना के लिए, क्यों गद्दी हुआ नहीं है ?.
typedef struct
{
unsigned char data1;
unsigned char data2;
unsigned char data3;
unsigned char data4;
unsigned char data5;
unsigned char data6;
}Sample2;
लेकिन आकार (नमूना 2) केवल 6 है। यह नमूना 2 एक 4 बाइट गठबंधन संरचना नहीं है?
संपादित ::
प्रति विकी के रूप में डाटा संरेखण एक स्मृति शब्द आकार, जो सिस्टम के प्रदर्शन बढ़ जाती है में से कुछ कई के बराबर ऑफसेट पर डेटा डाल का मतलब है की वजह से सीपीयू को स्मृति संभालती है।
लेकिन नमूना 2 के सदस्यों को दो अधिकारों के गुणकों में गठबंधन नहीं किया जाएगा ??
धन्यवाद।
अच्छा प्रश्न +1 – Angus