![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
C++双重指针问题
比方说定义一个二重指针:int**p;是否和下面的表达等价:int*p=NULL;int*pp=p;如果不等价,希望可以给出正解~。谢谢大家啦~。...
比方说定义一个二重指针:int **p;
是否和下面的表达等价:
int *p=NULL;
int *pp = p;
如果不等价,希望可以给出正解~。
谢谢大家啦~。 展开
是否和下面的表达等价:
int *p=NULL;
int *pp = p;
如果不等价,希望可以给出正解~。
谢谢大家啦~。 展开
2018-02-27
展开全部
我们来看看 指针怎么做的
int a = 5;
int *p = NULL;
p = a; // 这是错的哦,
p = &a; //这才是对的
然后看指针指针
int *pp = p // 这时候 pp 和 p 完全一样,所以错的
int *pp = &p; // 大概是对的, pp 指向 p, 还是不完全对,后面解释
int **pp = &p // 这个是对的。
下面我们只看看
int *pp = &p;
这个理论上是对的,但是还是错的,
因为你用 *pp 引用,这时提取的是 pp指向的东西( p,是 一个指针 ) 是,并 把它当做 int ,所以错了,需要类型转换为 int *,
你可以这样做 *(int*)(*pp) 这样就提取出来 a 了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询