C语言中const关键字的妙用总结

2022-12-31 0 987

C语言中const关键字的妙用总结请看节录

自学了十多年的C词汇,你对constURL的选用全被掌控了吗?在程式设计实践中你对const的选用与否有疑惑呢?那时就给我们一起来深入探讨归纳,期许能我们答疑并提供更多参照。

C词汇中constURL是constant的简写,一般来说译者为自变量、物理量等,很多好友一看见constURL立刻就想不到了自变量。实际上在C词汇中const机能很强悍,它能润色表达式、字符串、操作符、auth等。责任编辑将特别针对前述三种润色机能详尽做两个归纳。

1、 润色表达式:

C词汇中选用const润色表达式,机能是对表达式新闻稿为黎贞优点,并为保护表达式值以免被修正。譬如说如下表所示:

const int i = 5;

下面那个范例说明,表达式i具备黎贞优点,不能被更动;若要对i再次表达式,如i = 10;则是严重错误的。

更为重要的是,表述表达式的与此同时,要调用。表述方式也能写出int const i=5,反之亦然恰当。

此外,const润色表达式还起到了节约空间的目的,一般来说编译器并不给普通const黎贞表达式分配空间,而是将它们保存到符号表中,无需读写内存操作,程序执行效率也会提高。

2、 润色字符串

C词汇中const还能润色字符串,举例如下表所示:

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

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

字符串元素与表达式类似,具备黎贞属性,不能被更动;一旦更动,如程序将会报错。

3、 润色操作符

C词汇中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=20,则程序会报错;但p1的值是能改变的,对p1再次表达式如p1=&k是没有任何问题的。

在表述2中const限定的是操作符p2,若改变p2的值如p2=&k,程序将会报错;但*p2,即其所指向空间的值能改变,如*p2=80是没有问题的,程序正常执行。

4、 润色auth

constURL润色auth,对参数起限定作用,防止其在函数内部被修正。所限定的auth能是普通表达式,也能是操作符表达式。举例如下表所示:

void fun1(const int i)

{

其它语句

……

i++; //对i的值进行了修正,程序报错

其它语句

}

void fun2(const int *p)

{

其它语句

……

(*p)++; //对p指向空间的值进行了修正,程序报错

其它语句

}

好了,关于const的用法那时就归纳到这,如果我们有任何疑问请留言深入探讨。我是“C词汇知识传播者”,志在瞄准C词汇,挖掘和归纳C词汇的难点和痛点,给C词汇程式设计爱好者和本领域从业人员提供更多参照,我会用心归纳C词汇知识的点点滴滴,您的关注是我持续创作的动力,请收藏责任编辑、转发并点赞,希望得到您的持续关注,谢谢!

举报/反馈

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务