函数形参Sqlist &L和Sqlist L的区别?

tompolaris tompolaris 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
严蔚敏版的数据结构中如下代码:
结构体SqList的定义如下:
struct SqList
{
ElemType *elem; //存储空间基址
int length; //长度
int listsize //当前分配存储容量
};
有两个函数如下:
1.void InitList(SqList &L) //构建一个空的顺序线性表
{
L.elem=(ElemType*)malloc(LIST_INIT_SIZE sizeof(ElemType));
if(!L.elem) //存储分配失败
exit(OVERFLOW);
L.length=0;
L.listsize=LIST_INIT_SIZE; //初始存储容量
}

2.Status GetElem(SqList L,int i,ElemType &e) //用e返回第i个数据元素值
{
if(i<1||i>L.length) //i不在表L的范围之内
return ERROR;
e=*(L.elem+i-1); //将表L的第i个元素给e
return OK;
}
两个函数的形参SqList &L和SqList L相差&有什么区别呢?两个函数中的L好像都是结构体,SqList &L中的L并不是指向SqList的指针,因为L.length这个形式不是L->length这个形式?
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
tompolaris
数据结构与算法 33,026 成员 35,334 内容