Question: Please explain each code. I want to understand it. Its queue lab. c lang /* Free all storage used by queue */ void q_free(queue_t *q)
Please explain each code. I want to understand it.
Its queue lab. c lang
/* Free all storage used by queue */
void q_free(queue_t *q)
{ /* How about freeing the list elements and the strings? */
if(q == NULL)
return;
if(q->head != NULL)
{ list_ele_t *present = q->head; // why do we have a present and tempor?
list_ele_t *tempor = NULL;
while(present)
{ tempor = present->next; // can you explain these codes below?
free(present->value); // I understand that using "present" goes through the queue, but explain an each line please
free(present);
present = tempor;
}
}
free(q);
}
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
