编程语言
首页 > 编程语言> > C++笔记_测试指针以及引用的传参情况

C++笔记_测试指针以及引用的传参情况

作者:互联网

之前一直对指针和引用的传参抱有疑问, 今天特地测试下

1.定义的指针不能使用常量进行初始化,想要使用就必须用变量定义然后传递这个变量的引用.

 

2.指针测试.

如果传入的是&a, 函数以*a接收,那么
           函数体内a=传入前的&a=地址
           函数体内*a=传入前的a=真实值
           函数体内&a=地址的地址, 相当于二级指针

3.引用测试.

如果传入的是a, 函数以&a接收,那么
函数体内a=传入前的a=真实值
函数体内&a=传入前的&a=地址

4.再补充几种容易混淆的情况.

如果传入的是p, 函数以*a接收,那么
函数体内a=传入前的p=地址
函数体内*a=传入前的*p=真实值
函数体内&a=地址的地址, 相当于二级指针
传入前的&p=地址的地址, 相当于二级指针

 

 

 


这和直接传入p没有区别

 

 

由此可见, 当已经定义了指针*p, 函数以指针*a接收参数时, 无法传入指针*p和引用&p

 

 

如果传入的是*p, 函数以&a接收,那么
函数体内&a=传入前的p=地址
函数体内a=传入前的*p=真实值
传入前的&p=地址的地址, 相当于二级指针

 

 


可以看出如果是函数使用引用接收, 那么传参只能传递指针

标签:传参,函数,传入,C++,地址,接收,体内,指针
来源: https://blog.csdn.net/qq_34101232/article/details/94133448