不使用volatile的情况下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
const int n = 10;
int*p = (int*)&n;
*p = 20;
printf("%d\n", n);
printf("%d\n", *p);
system("pause");
return 0;
}
结果:
20
20
请按任意键继续. . .
#include<stdio.h>
#include<stdlib.h>
int main()
{
volatile const int n = 10;
int*p = (int*)&n;
*p = 20;
printf("%d\n", n);
printf("%d\n", *p);
system("pause");
return 0;
}
结果:
10
20
请按任意键继续. . .
转载于:https://blog.51cto.com/zhangxinbei/1732986