typedef DataType int
typedef struct Node{
DataType data;
struct Node *next;
}LNode,*PNode,*LinkList;
int Initial(LinkList *h){ //参数为头结点指针的地址,也就是指针的指针
*h=(LinkList)malloc(sizeof(LNode)); //将申请的空间头地址储存在头结点指针中
if(!h){ //这个地方就奇怪了?为什么判断的是h,而不是*h呢?h在传递进来的时候不是早就有了
printf("初始化链表错误\n");
return 0;
}
*h->next =NULL;
return 0;
}
为什么初始化函数用的双重指针,简单的说只有一句话:就是在子函数中传递指针时,子函数的形参要用指针的地址,就是双重指针,也叫二级指针。
另外,终于知道CSDN怎么写C代码了。呵呵,有专门的选项。