1. 程式人生 > >C語言中volatile在什麼情況下使用

C語言中volatile在什麼情況下使用

volatile是易變的,不穩定的意思,volatile是關鍵字,是一種型別修飾符,用它修飾的變量表示可以被某些編譯器未知的因素更改,比如作業系統、硬體或者其他執行緒等,遇到這個關鍵字宣告的變數,編譯器對訪問該變數的程式碼不在進行優化,從而可以提供對特殊地址的穩定訪問。

volatile 關鍵字告訴編譯器該變數是隨時可能發生變化的,每次使用它的時候必須從記憶體中取出他的值,因而編譯器生成的彙編程式碼會從原記憶體地址中讀取資料使用。

如果一個暫存器或者變量表示一個埠或者多個執行緒的共享資料,就容易出錯,所以volatile可以保證對特殊地址的穩定訪問。