const是C语言内置的关键字,是常属性的意思。
比较常见的用法是:
这里a被const修饰,此时a就是常变量,理论上就不能被修改了,比方说如果强行修改a,编译器就会报错。
但是作为常变量,a仍然本质上是个变量,是不能作为数组定义时指定大小的
但是在C99中加入了变长数组,可以用变量指定大小,但是这样的数组不能初始化。
const修饰了a,理论上不能修改了,但可以通过一种特殊的方式把a改掉。
把a的地址取出来放在指针变量pa里,然后通过解引用找到a并且改掉。
为了防止这种 *** 作,const还可以修饰指针变量。
第一种情况:const放在*左边,比方说下面的a和b
const修饰的是*pa,此时就不可以通过pa来改变a了,但是pa本身可以被改变。
这样不行
这样可以
第二种情况,const放在*右边
此时const修饰的是pa,此时pa本身不能被修改,但是pa指向的a可以通过pa来改变。
这样不行
这样可以
如果在*左边和右边都加上const的话,pa不能被修改,pa指向的a也不能通过pa来修改。
熟练运用const,可以极大的提升代码的健壮性,防止变量被非法修改。
以上就是const的全部内容了。如果你觉得这篇博客对你有帮助的话,麻烦点个免费的赞,谢啦。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)