我遇到一个问题,当我调用我编写的用于释放结构的函数时,我的程序在第一个释放指令处终止。
这是函数:
void deleteJobNode(struct jobNode *node) {
free(node->burstTime);
free(node->jobIndex);
free(node->next);
free(node->priority);
free(node->remainingTime);
free(node);
}
Run Code Online (Sandbox Code Playgroud)
这是结构体的定义以及用于为结构体分配内存的函数。
struct jobNode {
struct jobNode *next;
int jobIndex;
int burstTime;
int remainingTime;
int priority;
};
struct jobNode *createJobNode(int newJobIndex, int newBurstTime, int newRemainingTime, int newPriority) {
struct jobNode *newNode = (struct jobNode *)malloc(sizeof(struct jobNode));
newNode->jobIndex = newJobIndex;
newNode->burstTime = newBurstTime;
newNode->remainingTime = newRemainingTime;
newNode->priority = newPriority;
if(newNode == NULL)
printf("Node Creation Error");
return newNode;
}
Run Code Online (Sandbox Code Playgroud)
我已经按照建议编辑了免费功能:
void deleteJobNode(struct jobNode *node) {
free(node);
}
Run Code Online (Sandbox Code Playgroud)
但是我在运行时收到此错误:
*** …Run Code Online (Sandbox Code Playgroud)