list *temp; temp = malloc(sizeof(list)); [...] free(temp); C语言没有new关键字 - 你必须手动分配和释放想要使用的内存。 new还会在后台执行一些工作,例如调用构造函数并返回适当的指针类型 - malloc不包含这些内容,需要由程序员处理。
list* temp; temp = malloc(sizeof(list)); list_init(temp);
- Eljaylist *temp = malloc(sizeof *temp);
这种方式。这样,如果你将其从列表更改为其他类型,需要更改的代码就会更少,并且通常更不容易出错。 - Shawn