volatile void * ptr;
是否ptr
是volatile
或指向volatile location
。C语言中这些volatile指针的含义是什么?
所以,实际的疑问是: 是否适用于上述声明,因为它适用于const
限定符?
小解释会帮助我很多。
volatile void * ptr;
是否ptr
是volatile
或指向volatile location
。C语言中这些volatile指针的含义是什么?
所以,实际的疑问是: 是否适用于上述声明,因为它适用于const
限定符?
小解释会帮助我很多。
这是一个指向易失性数据的指针。如果指针本身应该是挥发性的,但不是指向数据,你会使用:
void * volatile ptr;
所以,是的,它的工作方式为const
修饰符相同。
挥发性关键字指定与如下可以通过比在用户应用程序的其他动作被修改的名称相关联的值。
volatile关键字对于在共享内存中声明可以被多个进程访问的对象很有用。
除了代表一块硬件而不是实际内存的内存地址,例如串行端口的“地址”,或DMA的HDD等等。 –
const
和volatile
都是type qualifiers(它们是C中唯一的类型限定符,事实上)。使用它们的语法是相同的。
oh thnx ..它的意思和'const'一样..我们把'const'放在'*'的前后,意思就变了吗? – Omkant
是的; 'volatile volatile * ptr' ='void volatile * ptr' – Kos