我对C语言中的volatile有疑问.
我读了一些教程,但仍然无法弄清楚,有些人说,volatile告诉编译器优化器,不应该以某种方式优化涉及这个变量的操作.这意味着只要变量的值在寄存器中发生变化,该值就会影响内存.
而且有些人说volatile是指可以通过此代码之外的方式更改值.
我无法理解第二种说法,因此可以通过此代码之外的方式更改volatile变量?怎么样?这两个说对了吗?
c volatile
c ×1
volatile ×1