一节课学会C语言核心:链表
二桃杀三土:
[大哭][大哭][大哭][大哭]b站找了那么多讲链表的,就这么一个是讲到我懂了,其他的都是写了一大坨
FriedalARK:
。。。。大佬,你下次可以试试把一段代码写在同一页,方便阅读,不然对于初学者过于死亡
十点半睡觉-_-:
按照视频中的代码写运行出来不对,我写的变量名和视频中的不一样,这是改对的代码
在 CJlianbiao 函数中,以下代码存在问题:
c
struct node *p = list;
// for循环创建链表新结点
for (int i = 0; i < n; i++)
{
struct node *tmp = (struct node *)malloc(sizeof(struct node));
// 设置数据
tmp->data = dat【i】;
// 设置指针
tmp->next = p;
//
p = p->next;
}
这里的 p 初值为 list,然后在 for 循环中,每次执行 p = p->next;,都将其向后移动一个节点。但是,在第一次执行时,由于 list 指向的是头结点而不是第一个节点,因此实际上应该将 tmp->next 指向 list->next,而不是 p。
修改后的代码应该如下所示:
c
struct node *p = list;
// for循环创建链表新结点
for (int i = 0; i < n; i++)
{
struct node *tmp = (struct node *)malloc(sizeof(struct node));
// 设置数据
tmp->data = dat【i】;
// 设置指针
tmp->next = p->next;
//
p->next = tmp;
p = tmp;
}
生活跑跑跑:
裂开了。。。好多题外话但是讲解还挺不错
【回复】这里是直播的录播,我们也有完整详细的干货讲解教程(全程无废话)
大肥肥兔:
报错
“p”可能为NULL
退出此循环("i<n"为false)
已取消对“p”的引用,但可能仍为NULL
求助下各位佬我哪错了
冰蓝coffee:
冗余确实很多,看完了的感受是,对于理解链表有帮助但是不能直接让我理解链表,需要充分结合教材才能堪堪入门,但是也确实是入门了
想学习的飞猪:
老师讲课风格有些幽默 笑死了 但是我居然看懂了 赞
空舟-阳:
2024年了,我表示,非常好视频,使我这个大一学生每次忘记链表都来复习,三连了[打call]
石子路_:
为什么定义结构体指针的时候需要把结构体名写进去,好奇怪,是说这个指针只能在这个结构体内用吗?
是_佩琪啊:
这个老师讲的很清楚,通俗易懂,爱了爱了,其他的视频根本不详细讲代码的意思,终于找到一个看的懂的了,已投币[呲牙]