常指针和指向常量的指针的区别
2016-10-10 17:27
120 查看
最近在学习引用,有一些学习心得,记录如下:
1.引用是变量的别名
int a;
int b&=a;
要注意引用只有声明,而没有定义,并且引用必须在声明的时候进行初始化,一旦与某个变量关联起来,就将一直效忠于它。
2.引用的实质是指针。
其中引用出现在C++中的理由,也是为了在一定程度上回避一下C语言中的指针问题。
引用相当于 常指针
int a;
int &b=a;
//实际上是下述代码的伪装表示
int * const pt= &a;
其中引用 b扮演的角色与表达式 *pt 是完全相同的。
3.说完了第二个问题就该说说常指针和指向常量的指针的区别了。
先说一下概念 常指针 是指针指向的位置不能改变,也就是指针的指只能赋值一次。
指向常量的指针 是指指针指向的对象不能改变,也就是说不能通过这个指针来改变指向对象的指,而指针自身的指向是可以改变的。
再说一下具体的形式
const char *p;
char const *p;
以上两种是指向常量的指针。
char * const p;
是常指针。
区分就是看 * 和const 谁离指针变量名 p近,如果是 * 离的近,表示该指针指向一个常量。
反过来如果是 const离的近,则代表是一个常指针。
4.
const int n=5;
int const n=5;
完全等价。
1.引用是变量的别名
int a;
int b&=a;
要注意引用只有声明,而没有定义,并且引用必须在声明的时候进行初始化,一旦与某个变量关联起来,就将一直效忠于它。
2.引用的实质是指针。
其中引用出现在C++中的理由,也是为了在一定程度上回避一下C语言中的指针问题。
引用相当于 常指针
int a;
int &b=a;
//实际上是下述代码的伪装表示
int * const pt= &a;
其中引用 b扮演的角色与表达式 *pt 是完全相同的。
3.说完了第二个问题就该说说常指针和指向常量的指针的区别了。
先说一下概念 常指针 是指针指向的位置不能改变,也就是指针的指只能赋值一次。
指向常量的指针 是指指针指向的对象不能改变,也就是说不能通过这个指针来改变指向对象的指,而指针自身的指向是可以改变的。
再说一下具体的形式
const char *p;
char const *p;
以上两种是指向常量的指针。
char * const p;
是常指针。
区分就是看 * 和const 谁离指针变量名 p近,如果是 * 离的近,表示该指针指向一个常量。
反过来如果是 const离的近,则代表是一个常指针。
4.
const int n=5;
int const n=5;
完全等价。
相关文章推荐
- const int *p和int * const p的区别(常量指针与指向常量的指针)
- 深入const int *p与int * const p的区别详解(常量指针与指向常量的指针)
- 深入探讨常量、指向常量的指针,常量与变量的区别
- const int *p和int * const p的区别(常量指针与指向常量的指针)
- 指向常量对象的指针 和 常量指针 区别
- const int *p和int * const p的区别(常量指针与指向常量的指针) .
- 【转】const int *p和int * const p的区别(常量指针与指向常量的指针)
- 深入const int *p与int * const p的区别详解(常量指针与指向常量的指针)
- const int *p和int * const p的区别(常量指针与指向常量的指针)
- 常量的指针,常指针,指向常量的常指针之间的区别
- C++中 常量引用、指向常量的指针、常量指针的区别
- 浅析标识常量、常量指针、指针常量、指向常量的指针常量的区别
- 常量指针,指向常量的指针和指向常量的常指针的区别
- 指向常量的指针常量,指向变量的指针常量,指向常量的指针变量的区别
- const int *p和int * const p的区别(常量指针与指向常量的指针)
- 深入探讨常量、指向常量的指针,常量与变量的区别
- 指针常量 和 指向常量的指针区别
- C语言——常量指针、指针常量以及指向常量的指针常量三者区别详解
- “常量指针”和“指向常量的指针”的区别
- const int *p和int * const p的区别(常量指针与指向常量的指针)