首页 > 编程知识 正文

顺序表类型定义sqlist,数据结构顺序表的建立

时间:2023-05-05 16:45:52 阅读:160523 作者:2836

【数据结构】【序列表】SqList *L和SqList *L区别明显,对于序列表抽象数据模型中的函数,其参数使用各不相同。

SqList *L的情况,意味着l是对List的参照,由于函数内部对l的操作相当于对Head的操作,因此在该情况下对l的变更发生在List中。

对于SqList *L,这意味着当List指针作为函数参数传递时,将指针List指向的地址值指派给指针l。 虽然可以与() int型类比,但指针本质上也是数据类型。 也就是说,此时的实参List和形参l不是同一指针,而是指向同一地址的不同指针。 所以你对l的操作没有发生在List身上。 得不到预期的效果。

例如,(顺序表初始化函数) )此函数的代码实现如下:

voidinilist(sqlist*L ) l=(sqlist * ) malloc ) sizeof ) sqlist ); L-length=0; 在main函数中调用时,`

SqList *List=NULL; initlist(list; 此时执行后,希望名为List的指针指向序列表空间。 事实上,如果选择后一个函数参数的方法(SqList *L ),则List=NUll,您会看到无法获得所需的结果。

怎么选? 综上所述,可以看出,如果是修改顺序表的函数(例如初始化元素、插入元素、删除元素),最好选择方式传递参数~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。