关于带头结点的单链表初始化问题

#include<stdio.h>#include<stdlib.h>typedefintElemType;typedefstructnode{ElemTypedata;... #include <stdio.h>
#include <stdlib.h>
typedef int ElemType;
typedef struct node
{
ElemType data;
struct node *Next;
}LNode;
typedef LNode* LinkedList;
void LinkedListInit1(LinkedList L);
//主函数
void main()
{
LinkedList L;
LinkedListInit1(L);
}
//其余函数
void LinkedListInit1(LinkedList L)
{
L=(LNode *)malloc(sizeof(LNode)); if(L==NULL)
{
printf("申请空间失败!\n");
exit(0);
}
L->Next=NULL;
}
问题:为什么链表L没有被初始化?不是用的地址传递吗?
还是LinkedList L这个指针变量本身需要申请内存空间?
但是对于指针变量,编译系统不是应该会自动分配内存空间吗?难道还需要人为通过malloc函数申请内存空间吗?
展开
 我来答
cylz0703
2019-03-24 · TA获得超过3.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:83%
帮助的人:4461万
展开全部
问题就出在这一句,
L=(LNode *)malloc(sizeof(LNode));
这里的L是LinkedListInit1函数的形参,也就是局部变量,函数运行结束后就不存在了,而你在main函数中的调用过程根本没有改变实参L的数值,没有将初始化的空间传出来,以上代码修改如下:
#include <stdio.h>
#include <stdlib.h>
typedef int ElemType;
typedef struct node
{
ElemType data;
struct node *Next;
} LNode;
typedef LNode* LinkedList;
LinkedList LinkedListInit1();
//主函数
void main()
{
LinkedList L=LinkedListInit1();
}
//其余函数
LinkedList LinkedListInit1()
{
LinkedList L=(LNode *)malloc(sizeof(LNode));
if(L==NULL)
{
printf("申请空间失败!\n");
exit(0);
}
L->Next=NULL;
return L;
}
追问
我修改的不是头结点的地址吗?对地址操作还需要传回主调函数吗?这个和数组的传递不是一个道理吗?
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
京桖鲆49
2019-03-24 · 贡献了超过216个回答
知道答主
回答量:216
采纳率:0%
帮助的人:14.7万
展开全部
不懂!你要上百度看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
内心的倾听者
2019-03-24 · TA获得超过6412个赞
知道大有可为答主
回答量:2.9万
采纳率:68%
帮助的人:1841万
展开全部
哈哈哈还盖茨哈哈哈哈彼此彼此彼此猜哈查查哈比比白皑皑亲住亲住人陪在真是我是在真是也破哈哈哈彼此彼此吧还差还差彼此彼此爱财干海菜会嘎嘎嘎也破也破也破也破也破也破也破哈哈哈哈彼此彼此彼此猜哈查查哈比比白皑皑亲住亲住人陪在真是我是在真是也破哈哈哈还好还好亲住亲住人陪在真是我是在真是也破不会就不会亲住亲住人陪在真是我是在真是也破不会就不会亲住亲住人陪在真是我是在真是也破不会就不会亲住亲住人陪在真是我是在真是也破不会就不会亲住亲住人陪在真是我是在真是也破不会就不会亲住亲住人陪在真是我是在真是也破?亲住亲住人陪在真是我是在真是也破不会就不会亲住亲住人陪在真是我是在真是也破?亲住亲住人陪在真是我是在真是也破不会就不会亲住亲住人陪在真是我是在真是也破?亲住亲住人陪在真是我是在真是也破
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
往事随风uMd
2019-03-24
知道答主
回答量:19
采纳率:0%
帮助的人:1.4万
展开全部
我们前几天数据结构刚好上机做这个实验,下面是我写的代码,除了最后的链表逆转没做之外,其他的挺符合你的要求的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式