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.