理解上是没什么问题的。
事实上,是否带头,看你实现。 无论是否带头结点,你这种定义的方法 都是可以的。
但是 你这个代码最大的问题是,无法实现你的目的。
linklist本质上是node *型。
在initlist 你对L2赋值, 这个值是没办法带回到主函数的。
要带回主函数, 那么需要
void initlist(linlist *L2)
{
*L2=(linklist)malloc(sizeof(node));
}
void main()
{
linklist L1;
initlist(&L1);
}
或者
linlist initlist(void)
{
linlist L2
L2=(linklist)malloc(sizeof(node));
return L2;
}
void main()
{
linklist L1;
L1=initlist();
}