C 中的“volatile”限定符


在這裡,我們將瞭解 C++ 中易失限定符的含義。在宣告變數時應用易失限定符。它用於告訴編譯器,該值可能隨時更改。以下是一些易失屬性。

  • volatile 關鍵字無法刪除記憶體分配
  • 它無法將變數快取在暫存器中。
  • 值不會按分配順序更改。

讓我們看看如何使用 volatile 關鍵字。

volatile int a;
int volatile a;

這兩個宣告都是正確的。與其他資料型別一樣,我們可以使用 volatile 指標、結構、聯合等。volatile 結構和聯合本身可以是 volatile 的,它們各自的成員變數也可以是 volatile 型別。

volatile 在不同地方使用。對於記憶體對映的外圍暫存器、一些由其他函式或中斷服務例程訪問的全域性變數,或者在一些多執行緒應用程式中,可以使用 volatile。

示例

int main (){
   int value;
   value++;
}i
nt main (){
   volatile int value;
   value++;
}

這裡有兩個程式碼塊。在第一個程式碼塊中,不存在 volatile 關鍵字。因此,對於第一種情況,將把變數從記憶體複製到 CPU 暫存器,然後執行操作。在第二種情況下,存在 volatile。因此,在這種情況下,將不會把變數從記憶體複製到暫存器。

更新於: 2019 年 7 月 30 日

4 千個以上瀏覽量

開啟你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.