我不知道你的链表想做什么.
#include
#include
#define MAX 30
struct _list
{
char a;
union {
int cur;
struct _list* next;
};
} ;
typedef _list * SLinkList;
SLinkList MallocSL(SLinkList father=NULL);
SLinkList InitSpace(SLinkList space1)//创建备用链表
{
return MallocSL();
}
SLinkList MallocSL(SLinkList father)
//返回分配结点的下标,即开辟存储空间
{
//你这个函数没有分配空间。 分配空间应该用malloc返回指针而不是int。
SLinkList newlist=NULL;
newlist=(SLinkList)malloc(sizeof(struct _list)*MAX);//一次分配30个链表。
if (!father)return newlist;
father[MAX-1].next=newlist;//设置最后一个元素指向新链表。
return newlist;
}
不知道你想干什么 main 函数你自己写吧.