【链表初始化为什么要用双重指针】
如:
typedef DataType inttypedef struct Node{
DataType data;
struct Node *next;
}LNode,*PNode,*LinkList;
int Initial(LinkList *h){ //参数为头结点指针的地址,也就是指针的指针
*h=(LinkList)malloc(sizeof(LNode)); //将申请的空间头地址【储存在头结点指针中】
if(!h){ //注意判断的是h,而不是*h
printf("初始化链表错误\n");
return 0;
}
*h->next =NULL;
return 0;
}
总之就是在子函数中传递指针时,子函数的形参要用指针的地址,就是双重指针,也叫二级指针。