free(): double free detected in tcache 2 如何解决

原因
free():在tcache 2中检测到双空闲,在执行程序的过程中对同一块内存单元进行了两次free()操作。
在循环中包含free();语句,容易出现这类问题。
解决方法
可以设置两个指针,进行操作,下面给出示范
出现double free() 的报错

只设置了一个指针变量n,在循环的过程中,会再次对n进行free();操作因此会出现此次问题
double free()得到解决

设置两个指针变量,n与pn,可以有效的避免双重空闲的问题。