在C语言中,const
是一个关键字,用于定义常量或修饰变量,表示该变量的值不可被修改。
定义常量:
const int MAX_SIZE = 100;
在这个例子中,MAX_SIZE
被定义为一个常量,其值不能在后续的代码中被修改。
修饰变量(常变量):
const int x = 5;
在这个例子中,x
被定义为一个常变量本质还是变量,但是其值不能在后续的代码中被修改。如果尝试修改一个被 const
修饰的变量,编译器会报错。
注意点:在修饰指针变量时
const在“*”号左边时指针所指向的空间地址所存储的内容不能被修改,但是指针变量本身可以被修改,也就是所指向的地址可以修改
int main()
{
int a = 10l;
const int* p = &a;
*p = 10;/*报错严重性 代码 说明 项目 文件 行 禁止显示状态
错误(活动) E0137 表达式必须是可修改的左值 */
return 0;
}
const在“*”号右边时相反指针所指向的空间地址所存储的内容可以修改,而指针变量本身不能。
总结:
const关键字可以用于定义常量也可以修饰变量,用于防止数据被修改,但是并不是说被const修饰的变量不能更改,仍旧可以通过多级指针获取地址修改,因为常变量本质还是变量。