const int a = 10;
int main()
{
int *p = &a;
*p = 100;
printf ("%d\n", *p);
}
上面的代码崩溃了,这符合预期。
现在检查以下代码(将变量a
从全局变为局部变量)。
int main()
{
const int a = 10;
int *p = &a;
*p = 100;
printf ("%d\n", *p);
}
代码打印100作为输出。 我的问题是为什么本地const变量允许读写访问?