C/C++中关于链表的函数传参时是否需要增加引用符号

若实参里面是一个链表的头节点,那么形参里面如果是一个指针直接进行接收的话。在自定义函数里面,我们可以对这个链表进行增删改查,增加减少节点,这都是可以的。但是不可以对头节点的进行更改,也就是头指针必须一直指向那个地址,否则就会出错。但也可以修改了头节点后,用return返回这个头节点也是可以的。

如果想对头节点进行修改的话,要使用引用符号,或者是使用指针的指针,或者用return返回。

一般有以下几种方法可供参考:
不需要修改头节点(例如遍历链表,增加一个或减少一个节点)的情况
1. 直接在实参中传递一个头节点(无需加地址符),在形参中用相同类型的指针直接接收即可。

需要修改头节点(例如合并两个链表成一个新的链表)的情况(需要改变头节点指向的位置)
1. 直接在实参中传递一个头节点(无需加地址符),在形参中用相同类型的指针直接接收,在自定义函数中完成目的时,用return返回当前链表即可。(局限:只可返回一个链表,并且在调用的地方需要用变量接收,不是很方便)。
2. 直接在实参中传递一个头节点(无需加地址符),在形参中用相同类型的指针直接接收(但是要加一个引用符号)。—————方便,简单,明了。
3. 直接在实参中传递一个头节点(需要加地址符),在形参中用指针的指针进行接收。(局限:过于麻烦)

猜你喜欢

转载自blog.csdn.net/qq_43665244/article/details/108853535