#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) 이중 연결 목록에 삽입하는 방법? 인쇄 방법을 설명하십시오.우리는 왜 포인터에 대한 포인터를 사용합니까?
이 [wiki] (http://en.wikipedia.org/wiki/Doubly_linked_list)를 읽었습니까? – mvp
포인터를 사용하는 이유는 무엇입니까? –