ระเหยหมายถึงสองสิ่ง -
-
ค่าของตัวแปรอาจเปลี่ยนแปลงโดยไม่มีรหัสของคุณเปลี่ยนแปลง ดังนั้นเมื่อใดก็ตามที่คอมไพเลอร์อ่านค่าของตัวแปร มันอาจไม่ถือว่าเหมือนกับครั้งสุดท้ายที่อ่าน หรือเหมือนกับค่าสุดท้ายที่เก็บไว้ แต่ต้องอ่านอีกครั้ง
-
การเก็บค่าตัวแปรผันผวนเป็น "ผลข้างเคียง" ซึ่งสามารถสังเกตได้จากภายนอก ดังนั้นคอมไพเลอร์จึงไม่ได้รับอนุญาตให้ลบการเก็บค่า ตัวอย่างเช่น ถ้าเก็บค่าสองค่าในแถว คอมไพเลอร์จะต้องเก็บค่าสองครั้งจริง ๆ
ตัวอย่างเช่น:
i = 2; i = i;
คอมไพเลอร์ต้องเก็บเลข 2 อ่านตัวแปร I เก็บตัวแปรที่อ่านเป็น i
คุณสามารถดูรายละเอียดเพิ่มเติมเกี่ยวกับคำหลักระเหยได้ที่นี่:www.geeksforgeeks.org/understanding-volatile-qualifier-in-c/