हम दो structs है मान लीजिए:Struct सूचक अनुकूलता
typedef struct Struct1
{
short a_short;
int id;
} Struct1;
typedef struct Struct2
{
short a_short;
int id;
short another_short;
} Struct2;
यह Struct1 *
को Struct2 *
से कास्ट करने के लिए सुरक्षित है? एएनएसआई स्पेक इस बारे में क्या कहता है? मुझे पता है कि कुछ कंप्यूटर्स के पास मेमोरी उपयोग को अनुकूलित करने के लिए structs फ़ील्ड को पुन: व्यवस्थित करने का विकल्प होता है, जो दो structs को असंगत रूप से प्रस्तुत कर सकता है। क्या यह सुनिश्चित करने का कोई तरीका है कि संकलक ध्वज के बावजूद यह कोड मान्य होगा?
धन्यवाद!
* रिकॉर्डिंग * सदस्यों को मानक AFAIK द्वारा अनुमति नहीं है। मेरा मानना है कि पैडिंग की अलग-अलग मात्रा डालने की अनुमति होगी हालांकि। – delnan
@ डेलन ओह तो फिर उस स्ट्रक्चर 'पैकिंग' केवल संरेखण अक्षम कर देगा? धन्यवाद, मुझे यह नहीं पता था! – Waneck