【发布时间】:2021-01-06 02:11:22
【问题描述】:
我正在练习一本关于使用 C 编程的算法的书中的一些程序。 我看到以下功能:
void list_init(List *list, void (*destroy)(void *data)) {
/* Initialize the list. */
list->size = 0;
list->destroy = destroy;
list->head = NULL;
list->tail = NULL;
return;
}
后来被称为:
list_init(&list, free);
我认为free 是 C 语言中的一个函数,它被描述为:void free(void *ptr),因此需要一个参数。
那么,为什么free 本身作为list_init 的参数提供?有人可以帮我理解一下吗?
谢谢。
【问题讨论】:
标签: list free singly-linked-list