C语言 关于链表 函数如何通过参数传递返回一个单向链表

typedefstructLNode{chardata[WMAX];structLNode*next;}LNode,*LinkList;voidfun(LinkList&... typedef struct LNode
{
char data[WMAX];
struct LNode * next;
}LNode,*LinkList; void fun(LinkList &L);main(){LinkList L,P;P=(LinkList)malloc(sizeof(LNode));L=P;fun(L);}假设fun函数是向L链表里插入借点,这样能返回一个单向链表吗 = = 脑袋卡壳了 求疏导
展开
 我来答
风若远去何人留
推荐于2017-10-14 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450126
专业C/C++软件开发

向TA提问 私信TA
展开全部

只需要把函数返回值定义为链表节点的指针类型即可。

以下为实例代码。

#include <stdio.h>
#include <stdlib.h>
struct node
{
int v;
struct node *next;
};

struct node * make_head(void)//函数功能,返回一个链表的头节点
{
struct node *ret;

ret = malloc(sizeof(struct node));//申请一个头节点空间,
ret->next = NULL;

return ret;//返回头节点。
}

调用make_head得到的返回值,就是用来标记一个链表起始的头节点。

在实际应用中,返回链表的实现方式有很多种,功能也各不相同,但原理都是一样的。

匿名用户
2013-08-02
展开全部
没有看到你的fun函数实现,无法判断.不知道返回链表是什么意思;得到头指针不就可以获取整个链表了吗?看到你的fun声明为无返回值,那么你是想通过修改参数来实现某些目的吗?单向链表如果没有对头指针进行拷贝保存,那么头指针是不能被修改的,否则是无法通过其他方法重新获取头指针的.也就是说你会失去前面的数据.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-02
展开全部
链表不能用作返回值的,你可以在fun里面对链表做处理,再返回头链表头指针即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
禄如云舜涆
2019-07-16 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:758万
展开全部
C语言关于链表函数如何通过参数传递返回一个单向链表
2343
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式