关于数据结构分配地址的问题
typedef struct {linklist *head,*tail;
int length;
}sqlist;
int initlist(sqlist &l){
if(!(l.head=(linklist*)malloc(sizeof(linklist))))exit(OVERFLOW);
l.head->next=NULL;
l.tail=l.head;
l.length=0;
return ok;
}还有其他的代码我没写出 因为跟这个问题不一样
在initlist(sqlist l)中l就已经给定义了 这样系统应该给他分配一个空间了吧 但是为什么这个时候还要再给l.head再分配空间呢 l.head在l被定义时已经分配了一个空间了吗 而这里的l.head=(linklist*)malloc(sizeof(linklist)给它分配空间到底有什么作用呢 高手解答