目录
引言:当谈到C语言中的const关键字时,它常常被用来描述一个常量,即一个在程序执行期间值不可变的变量。在这篇博客中,我们将深入探讨const的作用和用法。
介绍
C语言中const关键字常常用于修饰变量,意在将变量修饰成常量属性,从而很好的保护该变量不被修改,进而避免一些bug和错误的出现。
修饰变量
我们可以看到,当我们在a前面用上const后,a的值就不能在被修改了。
这也是最常见的const用法了。
修饰函数
主要修饰函数的参数和返回值
修饰参数
void fun(const a) {
//函数中不能通过指针来修改a
a = '2';//err
printf("%c", a);
}
函数里的a不可修改
修饰返回值
const int fun(int a,int b) {
// 返回a和b中的最大值作为常量
return a > b ? a : b;
}
返回值a或b不可修改
修饰指针
如图还是第一个例子,我们这里锁住了变量a,让它不能被改变,但是我们通过指针p找到了a的地址,并进行了修改。所以说我们为了杜绝这一现象我们引入了用const来修饰指针。
1、const放在*的前面
int main()
{
const int a = 10;
const int* p = &a;
*p = 20;//err
p = 20;//ok
printf("%d", a);
return 0;
}
这里的const修饰了*p(指向a地址的变量),从而阻止了通过修改*p来修改变量a。
但是并不影响p指向其他地址
2、const放在*的后面
int main()
{
const int a = 10;
int* const p = &a;
*p = 20;//ok
p = 20;//err
printf("%d", a);
return 0;
}
这里的const修饰了p (指针变量),它的作用是不再让变量p可以指向别的地址。
总结:以上就是我对const关键字的全部理解,感谢大家观看!!!