C中指针的这些易失性是什么意思?

时间:2012-11-06 11:12:34

标签: c pointers volatile

volatile void * ptr;

ptrvolatile还是指向volatile location

所以真正的疑问是: 与const限定符一起应用的上述声明是否应用相同的内容?

很少解释会对我有所帮助。

3 个答案:

答案 0 :(得分:8)

它是指向易失性数据的指针。如果指针本身应该是易失性但不是它所指向的数据,那么你可以使用:

void * volatile ptr;

所以是的,它的工作方式与const修饰符相同。

答案 1 :(得分:4)

A Microsoft explanation

  

volatile关键字指定与后续名称关联的值可以通过用户应用程序中的操作以外的操作进行修改。

volatile关键字对于声明可由多个进程访问的共享内存中的对象非常有用。

答案 2 :(得分:2)

constvolatile都是type qualifiers(事实上,它们是C中唯一的类型限定符)。使用它们的语法是相同的。