volatile void * ptr;
ptr
是volatile
还是指向volatile location
。
所以真正的疑问是:
与const
限定符一起应用的上述声明是否应用相同的内容?
很少解释会对我有所帮助。
答案 0 :(得分:8)
它是指向易失性数据的指针。如果指针本身应该是易失性但不是它所指向的数据,那么你可以使用:
void * volatile ptr;
所以是的,它的工作方式与const
修饰符相同。
答案 1 :(得分:4)
volatile关键字指定与后续名称关联的值可以通过用户应用程序中的操作以外的操作进行修改。
volatile关键字对于声明可由多个进程访问的共享内存中的对象非常有用。
答案 2 :(得分:2)
const
和volatile
都是type qualifiers(事实上,它们是C中唯一的类型限定符)。使用它们的语法是相同的。