指针常量和常量指针

来源:互联网 发布:内部类 java 编辑:程序博客网 时间:2024/06/06 05:05
大家先不要纠结你写的代码中包含的是指针常量,还是常量指针。先理解自己的代码。

先看看这几种声明方式:

int *pi1;int* pi2;

这两种声明方式的结果都是一样的,pi1和pi2都是整型指针,所谓整型指针,就是指向整数数组首地址的指针变量。其实int*和int *描述的都是某个变量,标示某个变量的属性。


继续往下看

int const *pid1; 
const int *pid2;

这两个声明,其实结果一样,首先pid1和pid2都是指针, (*pid1)和(*pid2)都具有int属性,所以两个指针都是整型指针,有因为加了const属性,所以(*pid1)这个整数不可以被修改。

这个就是常量指针。


在看看下面的声明

int * const pid;

首先pid是个指针,然后修饰pid的修饰符是const,所以pid的内容不可以修改,也就是说他只能被存放一次,而且是在声明的时候初始化。

这个就是指针常量。


总结一下:

指针常量就是本身是常量的指针。

常量指针就是指向常量的指针。

其实明白了上面的解释,大家就不必在意什么常量指针,指针常量了。用对就可以了。。


原创粉丝点击