volatile

来源:互联网 发布:超图软件工资怎么样 编辑:程序博客网 时间:2024/06/07 05:42
//volatile
#include<stdio.h>
#include<stdlib.h>
int main()
{
volatile const int num=10;
int * p = &num;//取地址取的是内存的地址,
  *p = 20; //const定义的常变量,计算机把num=10优化放到寄存器,
printf("%d", num);//那么取num的地址后,在内存里变为20,但是计算机再找num时,会到寄存器里找,num=10
system("pause");//加了volatile后,每次对变量(num)的使用都会去内存拿取,即保证了内存的可见性,那么num=20
return 0;
}
原创粉丝点击