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 blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!