可能重复:
C 中的常量和指针
我有这段小代码。我正在使用 gcc 编译器:
#include <stdio.h>
int main()
{
const int a=10;
int *d;
d=&a;
*d=30;
printf("%d %d\n",a,*d);
return 0;
}
它在编译时发出警告:
“赋值从指针目标类型中丢弃限定符”
但没有错误。输出为:30 30
那么它是否违背了维护 const 变量的目的,该变量的值在整个程序执行过程中都是固定的(如果我错了,请纠正我)?