volatile对指针有什么影响? 使用时出现意外行为
int main() {
volatile uint32_t *ptr=((uint32_t *)(0x00000000+0x00100100));
cout<<ptr<<endl;
uint32_t *ptr1=((uint32_t *)(0x00000000+0x00100100));
cout<<ptr1<<endl;
return 0;
}
“ ptr”返回值1,而 “ ptr1”返回值为0x100100。
是什么原因造成这种差异?