volatile const int在C中的含义?

时间:2013-12-03 14:14:04

标签: c

我正在C上读book。 它提到了一个对我没有意义的概念。 我所知道的是,编译器有时通过删除感觉不会影响表达式的变量来优化代码。因此,如果我们为变量指定volatile,则不会从任何表达式中删除此变量。

所以这本书介绍了这样的东西:

volatile const int a = 1;

解释只是几行,对我来说没有任何意义。 有人可以解释为什么需要这样的变量?

PS:我理解 volatile 的概念,我不理解的是 volatile const 的概念。

2 个答案:

答案 0 :(得分:4)

volatile const变量的值可能因外部影响而发生变化,且无法写入。

答案 1 :(得分:0)

易失性const表示无法通过编程方式更改值,但可以间接更改值,例如,如果将变量映射到设备寄存器,则可以由设备修改值。