1.volatile类型修饰符,可以让变量被不同的线程访问和修改,也可以防止变量被编译器优化,而const用来限定一个变量不允许被改变,但下面的程序运行结果为20。

#include<stdio.h>
int main()
{
    volatile const int num = 10;
    int *p = (int *) & num;
    *p = 20;
    printf("%d\n",num);
    return 0;
}