C语言问题,急求回答

p=(people*)malloc(sizeof(people));p->num=i+1;p->next=tail->next;tail->next=p;tail=p;请... p=(people*)malloc(sizeof(people));
p->num=i+1;
p->next=tail->next;
tail->next=p;
tail=p;
请分析一下这段代码!
展开
 我来答
NE_Z
2012-12-13 · TA获得超过1736个赞
知道小有建树答主
回答量:1687
采纳率:55%
帮助的人:567万
展开全部
p=(people*)malloc(sizeof(people)); //people是个结构,p相当于people的一个实例,动态分配的。

p->num=i+1;//将p中num赋值
p->next=tail->next;//p的next指针指向链表末尾数据的next指向的内容,估计NULL了
tail->next=p;//让末尾next指针指向p
tail=p;//现在p是末尾数据了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
磨虎cX
2012-12-13 · 超过19用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:43.3万
展开全部
申请一个 people 类型的空间

该空间地址值赋予 指针p;

根据你的代码,估计你写的是链表程序,然后做出如下估计:

p 指向的是链表的新增节点
p->num=i+1; //设置该节点的值
p->next=tail->next; //该节点的指针域指向尾节点的指针域(尾节点的指针域应该为NULL)
tail->next=p; //原来尾节点的指针域指向新增节点(即把新增节点放于链表的尾部)
tail=p; //修改尾节点的值,让其指向新的尾节点
追问
这是一个圆桌雅瑟夫程序的一部分
来自:求助得到的回答
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jevan000
2012-12-13
知道答主
回答量:2
采纳率:0%
帮助的人:2986
展开全部
malloc分配内存 大小为和结构体people一样 (people*)强制类型转换成结构体的指针,赋值给p。
把i+1赋值给p结构体中num的中。
结构体p的next指针指向tail的next的指针。
tail的next指针指向p。
tail=p。
整体实现的就是分配一个结构体把里面num的值+1,然后插在已知链表的后面,tail为已知链表的最后一个结构体指针。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
战魂皓玄
2012-12-13 · TA获得超过1286个赞
知道答主
回答量:101
采纳率:66%
帮助的人:47.8万
展开全部
就是在链表或其他末尾添加一个新的节点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式