【C/C++】const关键字概括

const关键字概括

C语言中const关键字是constant的缩写,通常翻译为常量、常数等,const功能很强大,它可以修饰变量、数组、指针、函数参数等。

1、 修饰变量:

采用const修饰变量,功能是对变量声明为只读特性,并保护变量值以防被修改。

const int i = 5;

变量i具有只读特性,不能够被更改;若想对i重新赋值,如i = 10;则是错误的。

值得注意的是,因为无法在后续进行修改,所以定义变量的同时,必须初始化。

定义形式也可以写成int const i=5。

通常编译器并不给普通const只读变量分配空间,而是将它们保存到符号表中,无需读写内存操作,程序执行效率也会提高,节约空间。

2、 修饰数组

const int array[5] = {1,2,3,4,5};

array[0] = array[0]+1; //错误

数组元素与变量类似,具有只读属性,不能被更改;一旦更改,程序将会报错。

3、 修饰指针

const修饰指针要特别注意,共有两种形式:一种是用来限定指向空间的值不能修改,另一种是限定指针不可更改。

int i = 5;
int j = 6;
int k = 7;

const int * p1 = &i; //定义1
int * const p2 = &j; //定义2

上面定义了两个指针p1和p2。

在定义1中:const限定的是 *p1,即其指向空间的值不可改变。

若改变其指向空间的值*p1则会报错,如 *p1=20,程序会报错;
但指针p1的值是可以改变的,对指针p1重新赋值如 p1=&k 是没有任何问题的。

在定义2中:const限定的是指针p2,不能改变指针的指向。

若改变p2的值如p2=&k,程序将会报错;
但可以改变指针指向空间的值,如*p2=80是没有问题的,程序正常执行。

4、 修饰函数参数

const关键字修饰函数参数,对参数起限定作用,防止其在函数内部被修改。
所限定的函数参数可以是普通变量,也可以是指针变量。

void fun1(const int i)
{
	...
	i++; //对i的值进行了修改,程序报错
	...
}

void fun2(const int *p)
{
	...
	(*p)+=10; //对p指向空间的值进行了修改,程序报错
	...
}

参考:https://baijiahao.baidu.com/s?id=1655909468895829791&wfr=spider&for=pc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KyrieLiu52

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值