C语言,有关const
前言:
以前对于这个关键字,基本没用过。只是印象比较深的是看一些比较经典的库代码,会有很多这个字。比如函数传入指针,之前真没怎么细想,以为很复杂或者麻烦,其实,完全是由于懒惰和畏惧了。
1、
典型问题如下:
这时非得加,不加还出错。其实就是一个常量指针。记忆方法,int* a是一个指针变量,即a是变量,对a加一个const,即int* const a,表示1是常量,即表示常量指针了。
2、
还有这种:
【cosnt关键字作用--防止意外修改】_c语言防止篡改关键字-CSDN博客
直接对输入形参加const,表示这个参数在函数内只能用,不能改。这也是个很好的习惯。
这种函数入参对变量加const变为常量,在一些地方称为顶层常量,也就是只在使用的地方限定其不能修改,其本身定义或者说外部还是可以改变的。而最常见的,是直接在全局变量前面加const,也就是其值不能改,那么这是底层限定不能改了。参照上面1,此时,在指针引用(形参)的地方,则需要在形参前加const了。
3、
所以,在算法程序中,一般参数众多,对一些不能改变的参数,直接用const定义,定义时即赋值,后续不需也不能提供修改的接口或者语句。对一些可以修改的参数,在修改的接口或者语句处修改,在使用的接口中,可以使用常量指针来引用,这样就能很好的将这些参数的修改和使用分离开来。
原文地址:https://blog.csdn.net/weixin_40194697/article/details/144353645
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!