क्या संरचना-टाइप किए गए चर के उदाहरण को अस्थिर के रूप में घोषित करने के लिए पर्याप्त है (यदि इसके फ़ील्ड पुनः प्रवेश कोड में पहुंचे हैं), या किसी को ढांचे के विशिष्ट फ़ील्ड को अस्थिर के रूप में घोषित करना चाहिए?अस्थिर संरचना सेमेटिक्स
अलग ढंग से phrased, अर्थ मतभेद (यदि हो तो) के बीच है क्या: मैं पहचान
typdef struct {
uint8_t bar;
} foo_t;
volatile foo_t foo_inst;
और
typedef struct{
volatile uint8_t bar;
} foo_t;
foo_t foo_inst;
कि अस्थिर रूप में एक सूचक टाइप चर घोषित करने (जैसे अस्थिर uint8_t * foo) केवल संकलक को सूचित करता है कि foo द्वारा इंगित किए गए पते के बारे में कोई बयान नहीं देते हुए foo द्वारा संबोधित पता बदल सकता है। यह स्पष्ट नहीं है कि संरचना-टाइप किए गए चर के लिए एक समानता है या नहीं।
यदि फ़ील्ड 'uint8_t फ़ील्ड [10]' था, तो जब आप संरचना को अस्थिर के रूप में चिह्नित करते हैं तो अंतर्निहित डेटा अस्थिर या "effec के रूप में चिह्नित होता है टिव "क्षेत्र में पॉइंटर अस्थिर चिह्नित? –
अंतर्निहित डेटा अस्थिर है। इसके बारे में सोचने की एक बात यह है कि 'प्रभावी' सूचक संशोधित नहीं है (यह हमेशा पहले तत्व का पता है) इसलिए इसके अस्थिरता का कोई अर्थ नहीं होगा। एक साइडबार पर –