c++中函数参数中的指针问题。

来源:百度知道 编辑:UC知道 时间:2024/06/18 08:30:47
定义一个类node,函数insert(node * & head),我传递给函数node *a,那在函数中是不是&head=a?那head是什么东西?存的什么?谢谢!
还是不太明白
a 是一个node对象的指针,指向的某个node对象的地址
既然&head=a,那么&head就存着 a指向的某个node对象的地址
这个&是取地址运算符,那么head是什么?如果head存的是a的地址 那么&head是什么 &head=a不就不对了么?!

(1)在这里&不是取址运算符。而只是引用罢了。这里是指针的引用。&head=a ,就相当于head指针也指向了a所指向的内容了。其实这里head就相当于是a了。你自己去看引用的用法。“既然&head=a,那么&head就存着 a指向的某个node对象的地址 ”。是head就存着a指向的那个node对象的地址。

(2)head 是一个指向头结点的指针.

&head=a是对的.
head就是要插入的头结点,指向node的头地址,存放的就是a的地址 ,&head就是读取a的内容.

补充一下:head 就是一个指向头结点的指针,&是取地址,它指向a的内容。

&是引用符,&head=a 是对的,a指针就得到了指向头结点的指针;