#include "string.h"
#include "stdlib.h"
#include "malloc.h"
typedef int status;
typedef char ELEMTYPE;
typedef struct Lnode
{ELEMTYPE data;
struct Lnode *next;
}Lnode,*Linklist;
/*线性链表的数据结构*/
status initlist(Linklist *L)
{/*单链表的初始化*/
(*L)=(Lnode *)malloc(sizeof(Lnode));
(*L)->next=NULL;
return OK;
}
status Createlist(Linklist L) -----------1.这里的L指向那里? 此时还没有malloc还没分配啊?我了解只是定义还没指向应该是NULL.
{/*创建自己规定长度的单链表*/
Lnode *p,*q;
int i,j=1,n;
ELEMTYPE m,M;
q=L; -----------2.既然没有分配在这里赋值有用吗?
printf("请输入你要输入单链中元素的个数\n");
scanf("%d",&n);
scanf("%c",&m);/*回车缓冲区*/
for(i=n;i>0;i--)
{p=(Lnode *)malloc(sizeof(Lnode));
printf("请输入%d个元素:",j);
scanf("%c",&M);
scanf("%c",&m);/*回车缓冲区*/
p->data=M;
p->next=q->next;
q->next=p;
q=p; --------3.这里链表末的接点的指针域的值为NULL吗?怎么看出来
j++;
}
return OK;
}
这断代码是没错的,编译已通过
请路过的大虾指点,(尽可能详细点,偶技术很烂)或提示相关内容的书籍.搞了一天实在很迷糊,但有找不到详细点的解释,发现c真的很难,谢谢了先 郁闷