⚠️ 泄漏最常从哪儿冒出来
一个函数里 malloc 过,最容易漏的地方是【0】。
🔴 三块要了,两块还了
(本条路线统一用 gcc -std=c11 -O0 编译)程序自己数着账: #include <stdio.h> #include <stdlib.h> static int got = 0, gave = 0;
把漏掉的那一块补回去
(本条路线统一用 gcc -std=c11 -O0 编译)要了三块,只还了两块。补上缺的那一句,让最后那个差值变成 0。
🔴 循环里漏,一轮漏一块
(本条路线统一用 gcc -std=c11 -O0 编译)循环转三轮,每轮要一块。在每轮结束前还回去。
⚠️ 给半路那条岔路也补上
(本条路线统一用 gcc -std=c11 -O0 编译)正常那条路已经写了 give,出错那条岔路还没有。
给这段代码出一份体检报告
(本条路线统一用 gcc -std=c11 -O0 编译)把三个计数读出来,不要去改上面那三行代码。
⚠️ 在 C 里,链表的一个节点是什么
C 里一个链表节点,本质上是【0】。
🔴 一节一节地还,顺序要注意什么
顺着链表逐个 free,必须【0】。
建三个、走一遍、还三个
(本条路线统一用 gcc -std=c11 -O0 编译)整条链的一生: #include <stdio.h> #include <stdlib.h> struct Node { int v; struct Nod
⚠️ 头插三次,走出来的顺序
(本条路线统一用 gcc -std=c11 -O0 编译)每次都插到最前面: #include <stdio.h> #include <stdlib.h> struct Node { int v; struct N