【发布时间】:2012-09-20 10:30:37
【问题描述】:
我有一个我创建的列表:
struct list_t {
int value;
struct list_t* next;
};
我的'addFirst':
void addFirst(struct list_t* head,int value) {
struct list_t* toAdd = (struct list_t*) malloc (sizeof (struct list_t));
toAdd->value = value;
toAdd->next = head;
head = toAdd;
}
问题是当我将新的“节点”添加到列表中时,它在函数中起作用(使用 DDD 调试器查看),但是当我退出函数时,我的列表保持不变。
我知道这可以通过让我的方法返回struct list_t* 而不是void 来完成,也可以通过将指向 head 指针的指针作为参数 (struct list_t** PtoHead) 传递,但我的问题是如果可以使用我的方法来做到这一点(即返回void 并有一个指向head 的指针作为参数)。
【问题讨论】:
标签: c pointers linked-list singly-linked-list