指针作为C语言中重要的知识点,理解起来比较抽象且晦涩难懂。牢记一句话“指针就是地址,地址就是指针”。
const是一个C语言的关键字,它限定一个变量不允许被改变,产生静态作用。使用const在一定程度上可以提高程序的安全性和可靠性。下面我们队const修饰指针的情况进行一一剖析。
1、int const **pp
代码如下:
不难看出,int const **pp:能够改变pp的指向,不能改变**pp;
2、int **const pp
代码如下:
即:int ** const pp可以改变**pp,不能改变pp的指向
3、const int **pp:
代码如下:
通过代码能够看出:const int **pp不能改变**pp的值,可以改变pp指向
4、const ** int pp:
代码如下:
报错,说明这种写法是错误的。
总结一下基本规律:以const为界限,谁在const之后,谁不能被改变。
这样是不是就好记忆了呢?
对于二级指针const的情况书写完毕,那么一级指针的情况又是怎样的呢?不妨敲一敲自己体会一下。