c++中关于二级指针的问题!!请帮忙一下
#include<iostream.h>intk=7,m=5;voidf(int**s){int*t=&k;s=&t;*s=&m;cout<<k<<""<<*t<<""<...
#include<iostream.h>
int k=7,m=5;
void f(int **s)
{
int *t=&k;
s=&t;
*s=&m;
cout<<k<<" "<<*t<<" "<<**s<<endl;
}
void main()
{
int i=3,*p=&i,**r=&p;
f(r);
cout<<i<<" "<<*p<<" "<<**r<<endl;
}
我看不懂s=&t;
*s=&m;麻烦解释一下,还有*t,和**s的值是怎么出来的啊 展开
int k=7,m=5;
void f(int **s)
{
int *t=&k;
s=&t;
*s=&m;
cout<<k<<" "<<*t<<" "<<**s<<endl;
}
void main()
{
int i=3,*p=&i,**r=&p;
f(r);
cout<<i<<" "<<*p<<" "<<**r<<endl;
}
我看不懂s=&t;
*s=&m;麻烦解释一下,还有*t,和**s的值是怎么出来的啊 展开
3个回答
展开全部
s=&t; s作为一个(二级)指针,其值是一个地址,指向临时变量——指针t;而前int *t=&k是指针t指向k)
*s=&m; 指针s指向的单元(即指针t)的值(地址)又被改为指向m;
上述执行完后,*t为m的值,**s也为m的值;
*s=&m; 指针s指向的单元(即指针t)的值(地址)又被改为指向m;
上述执行完后,*t为m的值,**s也为m的值;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
t是指针,s是指向指针的指针,s=&t,就是去指针t的地址,赋值给s;
t是指针,*t,就是指针指向的内容
s是指向指针的指针,**s,就是指针的指针指向的内容
t是指针,*t,就是指针指向的内容
s是指向指针的指针,**s,就是指针的指针指向的内容
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询