中易网

为什么去掉typedef后程序错误?

答案:1  悬赏:0  
解决时间 2021-04-21 00:19

原程序:

#include<stdio.h>
#include<malloc.h>
typedef struct Lnode
{
int data;
struct Lnode *next;
}Lnode;
Lnode *Creat(int n)
{
Lnode *now, *p, *head;
int i;
head = (Lnode *)malloc(sizeof(Lnode)); //创建头结点
p = head;
for(i=0; i<n;i++)
{
now=(Lnode *)malloc(sizeof(Lnode));
scanf("%d",&now->data);
p->next=now;
p=now;
}
p->next=head;
return head;
}
Lnode *Mergelist(Lnode *L1,Lnode *L2)
{
//归并两个循环链表
Lnode *pa,*pb,*pc,*head;
pa=L1->next;
pb=L2->next;
pc=L1;head=L1;
while((pa!=L1)&&(pb!=L2))
{
if (pa->data<pb->data) {pc->next=pa;pc=pa;pa=pa->next;}
else if(pa->data==pb->data){pc->next=pa;pc=pa;pa=pa->next;pb=pb->next;}
else {pc->next=pb;pc=pb;pb=pb->next;}
}
if(pa!=L1)
{ pc->next=pa;while(pa->next!=L1) pa=pa->next;
pa->next=head;}
if(pb!=L2)
{ pc->next=pb;while(pb->next!=L2) pb=pb->next;
pb->next=head;}
free(L2);
return(head);
}//Mergelist
void main()
{
Lnode *list1,*list2,*list3,*pa;
int m,n;
printf("The numble of the first list:");
scanf("%d",&m);
printf("The first list:\n");
list1=Creat(m);

printf("The numble of the second list:");
scanf("%d",&n);
printf("The second list:\n");
list2=Creat(n);

list3=Mergelist(list1,list2);
pa=list3;
printf("The merged list:\n");
while(pa->next!=list3) {printf("%d ",pa->next->data);pa=pa->next;}
printf("\n");
}//此程序遇到两个相同节点将只保留一个

刚开始的typedef有必要吗? 直接struct建立结构体不行吗?大家谁知道讲讲,我初学者。谢谢!

最佳答案

有必要的 如果你要直接写结构体


struct Lnode
{
int data;
struct Lnode *next;
};就够了


typedef的意思是 给一个类型起个别名


typedef struct Lnode
{
int data;
struct Lnode *next;
}Lnode;
你这句话的意思就是 给Lnode这个结构体起个别名 叫做Lnode

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
物流管理专业毕业后可以去港口工作吗
南阳市眼科医院-配镜中心地址在哪,我要去那
音乐要怎么做?
现在开间桌球室好吗?
请问这是哪2个星座PK???有知道朋友请帮忙一下
建行IC白金信用卡是双币卡吗
上海番茄农庄好玩吗
孕妇吃什么蔬菜好 推荐5款既美味又营养的食物
如果梦幻你的等级才30J。适合跑商吗?点了香
移动卡手机欠费没停机能上网吗
若基亚1800-2200元的智能机哪个好点?
河北农业大学什么条件得励志奖学金
中央二台《开学第一课》观后感
通化市家赫汽车服务有限公司地址在什么地方,
一个叫汤姆的男孩经常帮助别人的英语
推荐资讯
鱼乐水族馆广东闽江肥城专卖店这个地址在什么
电脑还原系统时只进行到92%,就重启了,怎么
地下城與勇士怎麼點亮
1.4T和1.6L相比哪个更省油
VICHY薇姿
印象龙剪在什么地方啊,我要过去处理事情
三八节贺卡上怎么画,写些什么啊
济宁中区哪里有定做鱼缸比较的,是观赏鱼缸
笔记本电脑AMD A8处理器,AMD的双显能流畅玩c
求赤色壮举韩语部分罗马音
过两天去美国驻上海领事馆面试.
我希望你能传给我伊苏起源的music文件,,我
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?