Cng 发表于 2015-3-22 11:37:42

买了本严为民的数据结构,问题请教

typedef struct{
int*elem;
int length;
int listsize;
}SQlist;

int Initlist_sq(SQlist &L){                                     //这一句是什么意思???????L.elem= (ElemType *)malloc(sizeof(int));
L.listsize = 30;
return 1;
}

还有,这个函数调用时,实参要怎么写????

Victory_6226 发表于 2015-3-22 14:07:25

初始化操作

SQlist &L是SQlist结构体的引用,实参就是传入结构体变量

Cng 发表于 2015-3-22 14:11:30

Victory_6226 发表于 2015-3-22 14:07
初始化操作

SQlist &L是SQlist结构体的引用,实参就是传入结构体变量

我没学过C++,能否详细解释一下,能否转化为等价的C代码

Victory_6226 发表于 2015-3-22 14:50:59

int Initlist_sq(SQlist * const L){      
L->elem= (ElemType *)malloc(sizeof(int));
L->listsize = 30;
return 1;
}
SQlist * const L,其中L为常指针,这时候实参传入时为结构体变量的地址&

之所以是引用int Initlist_sq(SQlist &L)的形式,是因为如果你写成int Initlist_sq(SQlist L)这种格式,相当于结构体的浅拷贝,修改L里面的元素值并不会改变原实参里面的元素值
页: [1]
查看完整版本: 买了本严为民的数据结构,问题请教