在学习数据结构中的线性表中,根据王道的《数据结构》,听课记录了一些有关的知识。
其中关于 “&”表示C++语言中的引用调用,在C语言中采用指针也可以达到同样的效果。
(注:C语言不适用!!!)
如果对于参数的修改结果,需要“带回来”的话,就需要这种引用参数。
用以下老师讲的代码图片来理解以下什么叫“带回来”:
(注:图全是视频当中的图)
(1)首先定义了x的值,。
(2)其次调用了函数,进行修改x,变成了1024,修改后打印x值。
(3)test函数结束后,再次打印x的值。
从右边的结果来看:test函数虽然对x的值进行了修改,但是修改的结果没有“带回来”。
这是为什么呢?
原因:
在main函数里:初始值x=1;
再调用test函数:实际上test函数里的x是main函数里面的复制品。虽然都叫x,但是在内存中是两份不同的数据。
所以test函数x修改的实际是修改的是复制品(图上面灰色的数据),而main函数打印的是初始值(图下面橙色的数据)。对参数的修改结果没有“带回来”。
在函数上面加上引用&后:修改的其实就是同一份数据。