指针常量和常量指针
2013-05-28 14:22
260 查看
指针常量和常量指针
大家先不要纠结你写的代码中包含的是指针常量,还是常量指针。先理解自己的代码。
先看看这几种声明方式:
[cpp]
view plaincopyprint?
int *pi1;
int* pi2;
这两种声明方式的结果都是一样的,pi1和pi2都是整型指针,所谓整型指针,就是指向整数数组首地址的指针变量。其实int*和int *描述的都是某个变量,标示某个变量的属性。
继续往下看
[cpp]
view plaincopyprint?
int const *pid1;
[cpp]
view plaincopyprint?
const int *pid2;
这两个声明,其实结果一样,首先pid1和pid2都是指针, (*pid1)和(*pid2)都具有int属性,所以两个指针都是整型指针,有因为加了const属性,所以(*pid1)这个整数不可以被修改。
这个就是常量指针。
在看看下面的声明
[cpp]
view plaincopyprint?
int * const pid;
首先pid是个指针,然后修饰pid的修饰符是const,所以pid的内容不可以修改,也就是说他只能被存放一次,而且是在声明的时候初始化。
这个就是指针常量。
总结一下:
指针常量就是本身是常量的指针。
常量指针就是指向常量的指针。
其实明白了上面的解释,大家就不必在意什么常量指针,指针常量了。用对就可以了。。
大家先不要纠结你写的代码中包含的是指针常量,还是常量指针。先理解自己的代码。
先看看这几种声明方式:
[cpp]
view plaincopyprint?
int *pi1;
int* pi2;
int *pi1; int* pi2;
这两种声明方式的结果都是一样的,pi1和pi2都是整型指针,所谓整型指针,就是指向整数数组首地址的指针变量。其实int*和int *描述的都是某个变量,标示某个变量的属性。
继续往下看
[cpp]
view plaincopyprint?
int const *pid1;
int const *pid1;
[cpp]
view plaincopyprint?
const int *pid2;
const int *pid2;
这两个声明,其实结果一样,首先pid1和pid2都是指针, (*pid1)和(*pid2)都具有int属性,所以两个指针都是整型指针,有因为加了const属性,所以(*pid1)这个整数不可以被修改。
这个就是常量指针。
在看看下面的声明
[cpp]
view plaincopyprint?
int * const pid;
int * const pid;
首先pid是个指针,然后修饰pid的修饰符是const,所以pid的内容不可以修改,也就是说他只能被存放一次,而且是在声明的时候初始化。
这个就是指针常量。
总结一下:
指针常量就是本身是常量的指针。
常量指针就是指向常量的指针。
其实明白了上面的解释,大家就不必在意什么常量指针,指针常量了。用对就可以了。。
相关文章推荐
- 指针常量,常量指针。指向常量的常量指针
- const常量、指向常量的指针和常量指针(转)
- 常量指针和指向常量的指针
- C++-指针常量和常量指针
- C/C++——常量指针和指针常量
- 指针常量与常量指针
- 指针常量和常量指针
- 指针常量 常量指针
- 常量指针与指针常量
- 常量指针与指针常量的区别(转帖)
- C和指针 第三章 指针常量与常量指针
- typedef、#define、指针常量和常量指针
- C++之指针常量和常量指针
- C/C++常量指针和指针常量的区别
- 指针常量与常量指针
- 【C++】由指针常量和常量指针引发的问题
- 再学C/C++ 之 指针常量 和 常量指针
- 关于指针常量和常量指针(本来想自己写的,发现自己有混淆了,因此转载了一篇)
- 指向常量的指针和常量指针
- 常量指针和指针常量