अस्थिर का मतलब दो चीजें हैं -
- वेरिएबल का मान आपके किसी कोड को बदले बिना बदल सकता है। इसलिए जब भी कंपाइलर वेरिएबल के मान को पढ़ता है, तो यह नहीं मान सकता है कि यह पिछली बार पढ़ा गया था, या यह पिछले मान के समान है, लेकिन इसे फिर से पढ़ा जाना चाहिए।
- एक मूल्य को एक अस्थिर चर के लिए संग्रहीत करने का कार्य एक "साइड इफेक्ट" है जिसे बाहर से देखा जा सकता है, इसलिए संकलक को एक मूल्य संग्रहीत करने के कार्य को हटाने की अनुमति नहीं है; उदाहरण के लिए, यदि दो मान एक पंक्ति में संग्रहीत हैं, तो संकलक को वास्तव में मूल्य को दो बार संग्रहीत करना होगा।
उदाहरण के तौर पर -
i = 2; i = i;
कंपाइलर को नंबर दो को स्टोर करना चाहिए, वेरिएबल i को पढ़ना चाहिए, वेरिएबल को स्टोर करना चाहिए जो इसे i में पढ़ता है।
आप यहां अस्थिर कीवर्ड के बारे में अधिक जानकारी प्राप्त कर सकते हैं - https://www.geeksforgeeks.org/understanding-volatile-qualifier-in-c/