标题:数据结构关于销毁线性表的问题
取消只看楼主
嫌疑人XPL
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-10-4
结帖率:0
已结贴  问题点数:20 回复次数:1 
数据结构关于销毁线性表的问题
刚刚看了一个帖子介绍 *&L 和 *L有什么区别,
他是这么写的

L是个指针,在线性表初始化这个操作中,要对L进行修改赋值,
形参如果是 SqList*L   L在调用前调用后都不会改变,因为是把L拷贝一份
给了函数,是传“值”, 在函数内对L进行的任何修改,都不会影响到L的“本体”
,所以为了达到目的,需要用到 &。
形参是 SqList * &L ,这是引用调用,他传递给函数的,就不是拷贝一份L给函数了,而是将L的地址传给了函数,在函数内对L的任何操作,都是对真正的唯一的L在操作。

其他操作,比如查询,搜索,等等,因为不牵扯到对L的修改,所以可以直接用SqList*L 。


我就看了线性表的各种基本运算的算法,发现我数据结构教材书上写的是 *&L
程序代码:

 void DestroyList(SqList *&L)//销毁线性表 
 {
     free(L);

 }

而数据结构上机指导上写的是*L
程序代码:

 void DestroyList(SqList *L)//销毁线性表 
 {
     free(L);

 }

有没有人帮忙解释一下,我还是不太懂这两个有什么区别?还有这两种写法到底哪一个是对的
搜索更多相关主题的帖子: 影响 线性表 
2016-10-04 10:27
嫌疑人XPL
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-10-4
得分:0 
回复 3楼 linlulu001
我现在还是不怎么明白
2016-10-04 16:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469417-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.510555 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved