In Linux, the biggest headache for C programming is memory management. Especially in memory release, one of the standards is that the memory must be released, otherwise it will cause memory leakage. But pay attention to the release at any time, because the release once is OK, but the same memory is released twice, it is wrong.
Many people understand the truth, but there will be a lot of headaches in actual use. For example, the same memory may be assigned to another pointer during conversion, and the two pointers are released at the end of the result, and the memory operation error is found, it's incredible. So in my opinion, the memory pointer should not be assigned to another pointer. Even if it is assigned, be sure not to assign it to the global variable, this is because it is the most painful thing to query global variables.
I hope that the C language can be changed a little one day, that is, the released memory will be ignored if it is released again, saving the headache of memory problems.