C语言中顺序线性表的合并

结构体类型变量作为函数参数只能作为指针传递吗?为什么我写一个函数参数是结构体,下面引用时报错
typedef struct {
char name[10];
char sex;
long num;
}ElemType;//自定义元素类型。
typedef struct{
ElemType *elem;//存储空间基址。
int length;//当前长度。
int listsize;//当前分配的存储容量(以sizeof(ElemType)为单位)。
}SqList;//定义顺序线性表类型
void MergeList_Sq(SqList La,SqList Lb,SqList *Lc){
ElemType *pa,*pb,*pc;
pa=La->elem;pb=Lb->elem;
}

4个回答

La Lb不是指针
pa=La->elem;pb=Lb->elem;
修改为
pa=La.elem;pb=Lb.elem;
或者把它们修改为指针。

太感谢了,收我为徒吧大神图片说明

好混乱的代码,怕是息都没搞清楚哪个是指针哪个是引用:

 ElemType *pa,*pb,*pc;
pa=La->elem;pb=Lb->elem;

改一下:

 ElemType *pa,*pb,*pc;
pa=&La.elem;
pb=&Lb.elem;
ISEUWEI
Iseuwei 现在搞清楚了,谢谢指点
接近 4 年之前 回复

咿呀,一不小心放多了两个 &!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问