我有一个我创建的列表:
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 调试器查看),但是当我退出函数时,我的列表保持不变。
我知道这可以通过让我的方法返回 astruct list_t*
而不是来完成void
,也可以通过将指向 head 指针的指针作为参数 ( struct list_t** PtoHead
) 传递,但我的问题是是否可以使用我的方法执行此操作(即返回void
并有一个指向head
作为参数的指针)。