纠结了一个问题------------↓
程序代码:
int InitDlink(DlinkList * head) //初始化 这里为什么要用2级指针呢? { *head=APL; if(NULL == *head) return -1; else (*head)->next=*head; (*head)->prior=*head; return 1; } DlinkList CreatDlink(DlinkList head,int n) //创建链表 { DlinkList p , s; DataType e; if(InitDlink(&head)) p=head; else return NULL; while(n) { s=APL; if(NULL == s) return NULL; printf("请输入节点数据:"); scanf("%d",&e); s->data=e; //连接新结点 s->next=p->next; //这个地方为什么不能改成head p->next 本身就是head啊 ? s->prior=p; p->next=s; head->prior=s; n--; } return (head); }纠结的问题都再注释后面提出来了