热爱学习的呆萌的文青 2015-12-18 10:27 采纳率: 54.8%
浏览 2169
已采纳

单链表的头指针和头结点问题??

Status InitList(LinkList L)
{ /
操作结果:构造一个空的线性表L /
*L=(LinkList)malloc(sizeof(struct LNode)); /
产生头结点,并使L指向此头结点 /
if(!*L) /
存储分配失败 /
exit(OVERFLOW);
(*L)->next=NULL; /
指针域为空 */
return OK;
}

它是怎么实现将L指向此头结点的???

  • 写回答

3条回答 默认 最新

  • ysuwood 2015-12-18 10:58
    关注

    1、L是一个指针变量,那么下面这句就是错误的:
    *L=(LinkList)malloc(sizeof(struct LNode));
    2、你申请的头结点地址赋给了L, 无法返给调用函数使用

    可以修改为:

     Status InitList(LinkList &L)
    { / 操作结果:构造一个空的线性表L /
    L=(LinkList)malloc(sizeof(struct LNode)); / 产生头结点,并使L指向此头结点 /
    if(L) / 存储分配失败 /
    return FALSE;
    L->next=NULL; / 指针域为空 */
    return OK;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?