指向指针的指针和指针的引用做函数参数怎样理解,求大神解释。
展开全部
你的问题本质就是指针和引用的区别,请参考以下链接
http://zhidao.baidu.com/question/1638411952021780300.html?oldq=1
只不过,你的问题中,被指针指向和引用的是另一个指针变量。假设指针的指针为pp,指针的引用为r,而被指向的指针为p,则:
int a;//目标整数变量
int *p=&a;//一级指针
int **pp=&p;//二级指针
int &R=&p;//指针的引用
他们的关系用逻辑符号表示为:
pp->p->a(PP的值为p的地址,p的值为a的地址,即pp指向p,p指向a,PP本身也需要占用内存空间,所以PP也有自己的地址)
R=p->a(R引用p的地址,p的值为a的地址,即R是p的别名,p指向a,其中R的值就是p的地址,R本身不需要占用内存空间,也就没有自己的地址)
因此,引用和指针变量的区别是,引用本身不占用内存空间,指针变量需要占用内存空间(凡是变量都需要占用内存空间,凡是占用内存空间必然有地址)。
如还不明白可以追问。
http://zhidao.baidu.com/question/1638411952021780300.html?oldq=1
只不过,你的问题中,被指针指向和引用的是另一个指针变量。假设指针的指针为pp,指针的引用为r,而被指向的指针为p,则:
int a;//目标整数变量
int *p=&a;//一级指针
int **pp=&p;//二级指针
int &R=&p;//指针的引用
他们的关系用逻辑符号表示为:
pp->p->a(PP的值为p的地址,p的值为a的地址,即pp指向p,p指向a,PP本身也需要占用内存空间,所以PP也有自己的地址)
R=p->a(R引用p的地址,p的值为a的地址,即R是p的别名,p指向a,其中R的值就是p的地址,R本身不需要占用内存空间,也就没有自己的地址)
因此,引用和指针变量的区别是,引用本身不占用内存空间,指针变量需要占用内存空间(凡是变量都需要占用内存空间,凡是占用内存空间必然有地址)。
如还不明白可以追问。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询