最佳答案
将结构类型变量的实例声明为易失性(如果它的字段是在可重入代码中访问的)是否足够,还是必须将结构的特定字段声明为易失性?
措辞不同,两者之间的语义差异是什么(如果有的话) :
typdef struct {
uint8_t bar;
} foo_t;
volatile foo_t foo_inst;
还有
typedef struct{
volatile uint8_t bar;
} foo_t;
foo_t foo_inst;
我认识到,将指针类型的变量声明为 volic (例如,voluint8 _ t * foo)只是告诉编译器 foo 指向的地址可能会改变,而没有对 foo 指向的值进行声明。对我来说,结构类型的变量是否适用类比还不清楚。