-3
#include <stdio.h>
#include <stdlib.h>

struct llnode {
    int data;
 struct    llnode *next;
};
void insert (struct llnode **head, int data);


int
main () {
    struct llnode *head;
    head = NULL;
    printf("starting\n");
    insert(&head, 4);



    return 0;
}

void
insert (**struct llnode **head**, int data) {--> why do we use a pointer to a pointer 
    printf("insert %0d\n", data);

struct    llnode *l = malloc(sizeof(struct llnode));
    l->data = data;
    l->next = NULL;

    if (*head == NULL) {
        *head = l;
    } else {
struct        llnode *tmp = *head;
        while (tmp->next != NULL) {
            tmp = tmp->next;
        }
        tmp->next = l;
    }
}

1)为什么我们使用指向指针的指针。能否举例说明。2)如何插入双向链表?帮助我,请解释如何打印

4

2 回答 2

2

当您想将函数可以更改的指针传递给函数时,通常会使用指向指针的指针。

于 2013-06-04T07:12:53.330 回答
1

指向指针或双指针的指针是其可能值是其他指针变量的内存地址的变量。

您在这里有一个很好的答案,我认为他可以比我更好地解释它。

您也可以查看此链接

于 2013-06-04T07:01:18.607 回答