栈不需要手动释放,系统自己释放的;
而堆需要释放空间,调用函数释放,参数为根节点
void Freetree(BTree *root)
{
if(root!=NULL)
{
Freetree(root->lchild);
Freetree(root->rchild);
free(root); //当左右子结点都为空时,调用free,释放空间
}
}
释放的话得先在堆上是被分配内从空间了的
比如你的二叉树,先在堆上malloc存储空间,再放数据到里面。
最后不使用的时候free(C)或者delete(C++)。
建在堆上的话就delete,
建在栈上可以不管