Meditator_hkx 2015-11-14 03:41 采纳率: 66.7%
浏览 2069
已采纳

建立空单链表的二级指针寓意何在

我复习软件技术基础的单链表时,发现一个很费解的地方:
建立一个空的单链表的函数如下所示:

 void initiatesl(node **h) {
 *h = (node *)malloc(sizeof(node));
 (*h)->next = NULL;

我想问的是,为什么要用二级指针**h,用*h来表达不可以吗?

  • 写回答

4条回答 默认 最新

  • 建鼎呓语 2015-11-14 04:51
    关注

    因为调用该函数会传入指针的地址。

    node *h = NULL;
    initiatesl(&h);

    if(h == NULL)
    {
    /* 创建失败 /
    }
    else
    {
    /
    创建成功 */
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?