探究const关键字

目录

介绍

修饰变量

修饰函数

修饰指针


引言:当谈到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关键字的全部理解,感谢大家观看!!! 

猜你喜欢

转载自blog.csdn.net/2301_77125473/article/details/132306750