读书人

求C语言好手解答

发布时间: 2013-10-01 12:15:56 作者: rapoo

求C语言高手解答
#include "LinkList_Functions.h" //里面是一些链表操作的函数

void LinkList_Init1(LinkList *L)
{
L = (LinkList *)malloc(sizeof(LinkList));
L->next = NULL;
}


int main()
{
LinkList *L = NULL;
LinkList_Init1(L); //请问把这句改成这下面两句有什么不同?其实也就是把函数里面两句话搬下来
//L = (LinkList *)malloc(sizeof(LinkList));
//L->next = NULL;
LinkList_Insert(L,1,'a');
LinkList_Print(*L);
return 0;
}
[解决办法]
LinkList_Init1(L); 这样分配内存是不达不到目的,会出错的吧。是不?
个人觉得应该改成这样LinkList_Init1
void LinkList_Init1(LinkList **L)
{
*L = (LinkList *)malloc(sizeof(LinkList));
*L->next = NULL;
}

这样调用LinkList_Init1(&L)


[解决办法]
一楼说得对。

读书人网 >C语言

热点推荐