volatile是一个类型修饰符。它是被设计用来修饰被不同线程访问和修改的变量。
int n = 9; const int *pn = &n;
#define GET_REG_VALUE(reg) (*reg) /* get register value */ const unsigned char *STATUS_REG = 0x0018; /* status register */ const unsigned char STATUS_BUSY = 0x01; /* busy bit */ while (GET_REG_VALUE(STATUS_REG) & STATUS_BUSY); /* wait until free */ // do something to operate the device ...
const volatile unsigned char *STATUS_REG = 0x0018; /* status register */
原文:http://www.cnblogs.com/zjzazym/p/4368569.html