【发布时间】:2015-06-02 04:01:05
【问题描述】:
只是想知道这是否是 remove_from_front 的正确实现。
struct lnode {
int item;
struct lnode *next;
};
// remove_from front consumes a linked list that is stored on the heap and removes the first list.
void remove_from_front(struct lnode **list) {
struct lnode *next = (**list).next;
free(*list);
*list = next;
}
【问题讨论】:
-
@EOF 我添加了struct lnode的定义:)
-
这看起来不错,你有问题吗?如果你没有问题,那么这个问题是题外话,可能应该发布在 stackcodereview.com
-
如果重新排序
*list = nextpointer、free(currentpointer)的重置顺序,该函数可能更容易适应并发。 -
对不起,我有点新堆栈
-
在使用
*list之前检查NULL。
标签: c linked-list heap-memory