概括
二级指针的作用是将指针指向函数中malloc或new出来的的空间。
简介
c++中函数调用参数参数有值传递,指针传递和引用传递这三种方式,其中指针传递是为了修改外界参数,其中有一种用法就是将外界指针指向函数中new出来的地址,这就需要二级指针。
代码:


从结果可知:一级指针从没有改变main函数中的ptr_a指针,其仍然指向变量a,
二级指针却成功改变main函数中ptr_a的指针,使其指向函数中自己new出来的变量。
原因在于:ptrFunction中的参数ptr与main函数中的ptr_a并不是一个东西,从第3行和第5行可知,他们只是值相同,但地址不同的两个变量,具体如下图表所示:
main函数中的指针调用关系:

ptrFunction中指针调用关系:

ptrFunction2中指针的调用关系:

网友评论