数据结构的初学者,求救
/////////////////////定义一个节点类型///////////////////////////////
#include<stdio.h>
#include<stdlib.h>
typedef struct node //typedef的作用是减少struct的作用
{
int data; //构造这个节点的数据域
struct node *next; //构造这个节点的指针域
}lnode,*link; //lnode是这个几点的一个名字,*link是指向lnode类型节点的指针类型
/////////////////////初始化一个链表////////////////////////////////
link qq()
{
lnode *l; //定义一个l的指针
l=(lnode*)malloc(sizeof(lnode)); //动态分配一个内存空间
if(l==NULL) //判断是否是空
{
printf("kjkdfj\n");
exit(0);
}
l->next=NULL; //头结点的指针域赋值为null
return l; //返回l的类型
}
//////////////////////求这个链表的长度///////////////////////////////////
int tt(link l)
{
int j;
lnode *p;
p=l->next;
j=0;
while(p)
{
j++;
p=p->next;
}
return j;
}
/////////////////////////////////////////////
main()
{
int t;
link qq();
int tt();
// scanf("%d",&
t=tt();
printf("%d",t);
}
我知道mian函数这里出了问题,请问该怎么修改才能正确运行且无误
[解决办法]
link qq();
int tt();
这个两个是函数声明,不是调用
修改可以像1L朋友那样修改
但这样只有head,一个元素
另外,没有free,这个程序会有内存泄露
[解决办法]