C语言:关于链表的输出问题,为什么需要两个重复的定义?

2025-02-24 20:58:24
推荐回答(4个)
回答1:

这个不叫重复定义,这是为p1动态分配内存空间,这样把不连续的内存空间连接起来构成链表

回答2:

动态创建一个结点,p1是一个不断变换的节点,因为每一次分配一个,它的指针域都会有新的值啦!不是第二次定义,是创建新节点

回答3:

不是重复定义。。。原来的那个p1 已经用掉了。。。你所谓的第二个定义 其实 已经开辟了别的地址空间。。。

回答4:

有必要啊,while里面的malloc是重新建立一个节点啊,第一个malloc只是建立了一个;
ps:你这里malloc(LEN)和malloc(1)的效果是一样的;