Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

3
  • 1
    You should adjust the pointers in the list before calling free, if you call free before you've finished with the pointer then you will corrupt memory. Option 1, save test to another, reassign, then free saved pointer. Commented Nov 26, 2019 at 7:44
  • 2
    Option 1 is plain wrong. Dereferencing a pointer once it has bee freen leads tol undefined behaviour which includes "apparently working fine".. Commented Nov 26, 2019 at 7:45
  • From your explanation, I gather you don't understand why option 2 is correct ? It does not "start with the Second Node" as you think. I recommend drawing it out while following the code. Also, refer to this question for an explanation : C: How to free nodes in the linked list?. Commented Nov 26, 2019 at 7:51