本帖最后由 陆地行走者 于 2014-8-6 10:16 编辑
/*例子1*/ void CreateList(SqList *&L,ElemTypea[],int n) { inti; L=(SqList*)malloc(sizeof(SqList)); for(i=0;i<n;i++) L->data=a; 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就成了二级指针了…………
不是计算机专业出身,看数据结构很痛苦,希望前辈指教。
|