- 论坛徽章:
- 0
|
原帖由 isnowran 于 2007-8-19 01:04 发表 ![]()
大多数链表并非只有next指针是堆里的,实际应用中往往还有数据也是在堆里的, 很怀疑上述的意义在哪里
我想他的意思可能有两种.
1 说你的代码只释放了next部分的空间,对于数据所申请的空间并没有释放.比如
struct p{
struct p* next;
char *m;
};
这样一来,如果只释放了struct p的空间,那么m所占用的内存将泄漏.
2 是说我的代码,所定义的链表结构只有一个next指针.
对于这个问题,我想说的是,我定义的那个链表结构是一个基础结构,你可以从我的结构上 派生出你自己的链表结构.这点,我在代码示范中已经写得很清楚了.而且,这种做法是属于合法的,并没有什么不妥.
当然,如果你说链表内分配的内存释放,当然也可以通用的自动释放.代码比较复杂,而且我怕贴出来又有人说怪话.所以还是不贴的好.
上面两个是对于isnowran朋友所发留言意图的合理推理.根据其所发表的内容进行推理,以上两个可能意义符合逻辑率最高.
如果其不是这两个意思的任何一种,那我表示抱歉.因为其逻辑已经超出了正常范畴.系统无法解析.
对于给您造成的问题,我们表示非常抱歉.请及时与信息中心联系.我们将尽快修复这个逻辑性bug. |
|