【发布时间】:2026-02-23 07:45:01
【问题描述】:
这是释放链表的正确方法吗?我有以下结构:
struct Courses{
char *courseName;
int creditValue;
Courses *next;
}Courses;
struct Student{
char *name;
int age;
Courses *list; //First course (node)
}Student;
这是我的免费功能:
void freeStudent(Student *student){
struct Courses *tmp = student->list;
while(tmp != NULL){
free(tmp->name);
free(tmp);
tmp = tmp->next;
}
}
我的免费功能订购错了吗?在释放tmp 之前我应该先做tmp = tmp->next 吗?
【问题讨论】:
标签: c linked-list free