易百教程

29、C语言中的 volatile 变量是什么?

volatile 关键字是一种类型限定符,可防止编译器优化对象。 根据 C 标准,具有 volatile 限定类型的对象可能会以实现未知的方式进行修改或具有其他未知的副作用。也可以说,可以随时更改 volatile 限定对象的值,而无需代码执行任何操作。
如果对象由 volatile 限定符限定,则编译器每次程序访问它时都会从内存中重新加载该值,这意味着它会阻止将变量缓存到寄存器中。 从内存中读取值是检查值的不可预测变化的唯一方法。