c語言valotile關鍵字

2021-07-23 14:37:28 字數 390 閱讀 9491

volatile

是一種型別修飾符,提醒編譯器他後面所定義的變數隨時都有可能改變,因此編譯後的程式每次需要儲存或讀取這個變數的時候,都會直接從變數位址中(記憶體中)讀取資料。如果沒有volatile關鍵字,則編譯器可能優化讀取和儲存,可能暫時使用暫存器(快取)中的值,如果這個變數由別的程式更新,將出現不一致。

volatile使用:

(1)中斷服務程式中修改的供其他程式檢測的變數需要加volatile;

(2)多工環境下個任務間共享的標誌應該加volatile;

(3)儲存器對映的硬體暫存器通常也要加volatile說明,因為每次對它的讀寫可能不同;

理解為:需要讀取記憶體中最新的狀態而不是快取中狀態時使用volatile。

volatile與編譯器的優化相關。

C語言關鍵字

c語言關鍵字 在檔案範圍的教訓和關鍵字,你知道靜態變數保持他們的價值觀,甚至不在他們超出範圍的破壞。比如說呢。int generateid int main this program prints 01 2 請注意,s nid一直保持它的價值的跨多個函式呼叫。static關鍵字有另一種意思當應用到全...

C語言關鍵字

關鍵字就是已被c語言本身使用,不能作其它用途使用的字。例如關鍵字不能用作變數名 函式名等 由ansi標準定義的c語言關鍵字共32個 auto double int struct break else long switch case enum register typedef char extern...

c語言關鍵字

c 語言標準定義的32 個關鍵字 1 auto 宣告自動變數,預設時編譯器一般預設為auto int 宣告整型變數 double 宣告雙精度變數 雙精度浮點型 long 宣告長整型變數 char 宣告字元型變數 float 宣告浮點型變數 單精度浮點型 6.1 float的有效位通常有 位,指的是小...