मान लीजिए कि मेरे पास टैग MyStruct
टैग के साथ पूरी तरह परिभाषित संरचना है, और मान लीजिए कि x, y, ..., z
को इसके फ़ील्ड के लिए मानों की अनुमति है। क्योंक्यों structs सीधे असाइन नहीं किया जा सकता है?
struct MyStruct q = {x,y,..,z};
अनुमति दी है, लेकिन
struct MyStruct q;
q = {x,y,...,z};
अनुमति नहीं है? मुझे यह बहुत परेशान लगता है। दूसरे मामले में, जहां मैं पहले q
घोषणा की है में, मैं एक एक करके प्रत्येक क्षेत्र, एक के लिए एक मूल्य निर्दिष्ट करने की जरूरत है:
q.X = x; q.Y = y; ... q.Z = z;
जहां X, Y, ..., Z
MyStruct
के क्षेत्र हैं। क्या इसके पीछे कोई कारण है?
असाइनमेंट की rvalue ठोस नहीं है और इसकी रनटाइम में प्रारंभिक असाइनमेंट कंक्रीट है हालांकि बाइनरी में उपलब्ध है (बीएसएस अनुभाग में सबसे अधिक संभावना है यदि यह एक एल्फ फ़ाइल है)। यदि आप एक-दूसरे को structs असाइन करना चाहते हैं, तो आप प्रारंभिक कुछ को क्यू असाइन कर सकते हैं। पसंद; संरचना MyStruct w = {x, y, .., z}; q = w – sardok