指针变量和指针常量有什么区别,如何辨别?
答案:5 悬赏:60 手机版
解决时间 2021-02-05 07:36
- 提问者网友:蓝琪梦莎
- 2021-02-04 22:55
指针变量和指针常量有什么区别,如何辨别?
最佳答案
- 五星知识达人网友:患得患失的劫
- 2021-02-05 00:18
int *p1; // 定义一个指针变量,可以改变指针所指向的内存位置,例子:
int *p1; int i=1,j=2; p1 = &i; p1= &j;
int i=1;
int* const p2 = &i; // 定义一个指针常量,const指针必须在定义时初始化。
可以通过*p2改变i的值,但是不能把p2指向其它位置了。如:
int i=1,j=2;
int *const p2=&i; // ok
*p2 = 3; // ok, i =3;
p2 = &j; // error ,不能修改p2的值。
int *p1; int i=1,j=2; p1 = &i; p1= &j;
int i=1;
int* const p2 = &i; // 定义一个指针常量,const指针必须在定义时初始化。
可以通过*p2改变i的值,但是不能把p2指向其它位置了。如:
int i=1,j=2;
int *const p2=&i; // ok
*p2 = 3; // ok, i =3;
p2 = &j; // error ,不能修改p2的值。
全部回答
- 1楼网友:玩家
- 2021-02-05 03:23
指针变量:
int *pi
指向的对象是常量的指针
const int *pi:*pi是不可以改变的,*pi=2之类的对于*pi的操作都是不可取的,但是可以改变pi指向的地址,即可以改变指针指向的地址,但是不可以改变它指向的地址里面存的内容
指针本身是常量
int * const pi:*pi是可以改变的,*pi=2是正确的操作,但是pi=&i这种操作是不正确的,即可以改变这个指针指向的地址里面存的内容,但是不可以改变这个指针指向的地址
指向的对象是常量,指针自己也是常量
const int * const pi; 既不可以改变指针指向的地址,也不可以改变指向地址里面存的内容
- 2楼网友:大漠
- 2021-02-05 02:15
指针常量是指针所指向的位置不能改变。指针变量,可变。至于如何辨别,在于声明!
- 3楼网友:刀戟声无边
- 2021-02-05 02:04
指针常量是一个地址,指针变量是用来保存指针常量的一个变量。我们通常说指针是指指针变量。
- 4楼网友:怀裏藏嬌
- 2021-02-05 00:39
指针变量就是可以变的,常量就是不可以变的
如果一个指针被定义为const型,那就是常量了,是不能修改指针的值的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯