什么';C语言中这些带有指针的volatile的含义是什么?

什么';C语言中这些带有指针的volatile的含义是什么?,c,pointers,volatile,C,Pointers,Volatile,无论ptr是volatile还是指向volatile位置 因此,真正的疑问是: 应用于上述声明的内容是否与应用于const限定符的内容相同 很少的解释对我会有很大帮助。这是一个指向易失性数据的指针。如果指针本身应该是易变的,而不是它所指向的数据,那么您应该使用: volatile void * ptr; 是的,它的工作方式与常量修饰符的工作方式相同。A: volatile关键字指定与后面的名称关联的值可以由用户应用程序中的操作以外的其他操作修改 volatile关键字用于声明共享内存中可由多个

无论
ptr
volatile
还是指向
volatile位置

因此,真正的疑问是: 应用于上述声明的内容是否与应用于
const
限定符的内容相同


很少的解释对我会有很大帮助。

这是一个指向易失性数据的指针。如果指针本身应该是易变的,而不是它所指向的数据,那么您应该使用:

volatile void * ptr;
是的,它的工作方式与常量修饰符的工作方式相同。

A:

volatile关键字指定与后面的名称关联的值可以由用户应用程序中的操作以外的其他操作修改


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

const和
volatile
都是(实际上它们是C中唯一的类型限定符)。使用它们的语法是相同的。

oh thnx。。它的意思与
const
相同。我们把
const
放在
*
的前后,意思变了对吗?是的
volatile void*ptr
=
void volatile*ptr
以及表示硬件的内存地址,而不是实际内存,例如串行端口的“地址”或DMA硬盘或其他。
void * volatile ptr;