数据结构线性表为什么要用&

img


void union那段程序里,为什么la前面要加&

你可以了解一下拷贝传参,引用传参,指针传参的差异。(按值传参,实际传参的是对象的一个拷贝,函数内部修改对原对象是不影响的,使用引用传参(&),或者指针传参(*)可以实现函数内部修改传参对象,外部对象修改生效)

使用& 表示的是函数传参方式是引用传参的方式,及 被修饰的La, 会是外部传参的一个别名,函数内部修改实际会修改到外部传参的对象。

如果不适用&,那么函数调用,传参对象实际上是拷贝了一份进行函数内部使用的,在内部修改后,其实修改的是一份拷贝的数据,原对象并没有变化。

这个知识点需要你手动去写代码,实际理解这几个函数传参的差异。
我随意百度,看到一个简单描述:https://blog.csdn.net/qq_34243930/article/details/81638852

因为要对a进行处理操作,删除,插入,修改,这些操作都需要直接操作链表,所以加&
而像只查询,这类操作对链表没有任何影响,所以不用,不信你看看书里。是不是都这样