一个关于 线性表的顺序存储建立的问题
/*例子1*/void CreateList(SqList *&L,ElemType a[],int n)
{
int i;
L=(SqList *)malloc(sizeof(SqList));
for(i=0;i<n;i++)
L->data[i]=a[i];
L->length=n;
}
/*例子2*/
void Creat_List(Sqlist *L)
{
L->data=(DataType *)malloc(MaxSize *sizeof(DataType));
if(!L->data)
exit(1);
L->length=0;
L->listsize=MaxSize;
}
这是两种不同的教材上建立顺序存储的线性表的过程,我的疑问在两个函数第一行,形参的表示方法上。第一个是SqList *&L,第二个是Sqlist *L。第二个我能看明白,malloc函数的返回值是一个指向分配域起始地址的地址,L是指向Splist类型的结构体。
但是第一个看不懂*&L,这是什么表示方法?第二个是用c语言写的,但是第一个,我弄不懂他到底是用c还是c++写的,如果这用c的规范写的,该怎么解释呢?*&L,L就成了二级指针了…………
因为不是计算机专业的,看数据结构很痛苦,希望前辈指教。