C語言中的volatile

2021-06-18 06:19:28 字數 365 閱讀 6006

c中

volatile

作用:volatile單詞的意思是易變的,不確定的。

在c中,被

volatile

修飾的變數,表示:(1

)該變數的值是可變的,可能隨時在程式外部被改變;(2

)使用該變數的時候,必須每次從該變數所在的位址所指的記憶體去讀,不能把它放在暫存器或者

cache

中重複訪問,可以保證對特殊資料(介面資料)的穩定訪問;(3

)告訴編譯器不要進行編譯優化。

經常用於嵌入式程式設計中。volatile

變數可以是

const

修飾的。

const

表示變數不能再程式內部被修改。

C語言中的volatile

關鍵字volatile 有什麼含意 並給出三個不同的例子。乙個定義為volatile 的變數是說這變數可能會被意想不到地改變,這樣,編譯器就不會去假設這個變數的值了。精確地說就是,優化器在用到這個變數時必須每次都小心地重新讀取這個變數的值,而不是使用儲存在暫存器裡的備份。下面是 volatile 變...

C語言中的volatile

volatile是乙個型別 修飾符 type specifier 就像大家更熟悉的const一樣,它是被設計用來修飾被不同執行緒訪問和修改的變數。volatile 的作用是作為指令 關鍵字,確保本條指令不會因 編譯器的優化而省略,且要求每次 每次都小心地重新讀取這個變數的值,而不是使用儲存在暫存器裡...

詳解c語言中的volatile

volatile提醒編譯器它後面所定義的變數隨時都有可能改變,因此編譯後的程式每次需要儲存或讀取這個變數的時候,都會直接從變數位址中讀取資料。如果沒有volatile關鍵字,則編譯器可能優化讀取和儲存,可能暫時使用暫存器中的值,如果這個變數由別的程式更新了的話,將出現不一致的現象。下面舉例說明。在d...