正常的结构分配后直接free掉是没问题的,但是我一直不清楚如果要释放嵌套结构的内存是否是先要释放内层结构的内存然后再释放外层结构的内存呢,还是只要释放最外层的内存就可以例如:struct sa
{
int i;
}struct sb
{
sa m_a;
int i;
}sb * b=(sb *)malloc(sizeof(sb));
b->m_a=(sa *)malloc(sizeof(sa));free(sb) //?直接释放
****************************************************
free(sa) //先释放内层
free(sb) //再释放外层
{
int i;
}struct sb
{
sa m_a;
int i;
}sb * b=(sb *)malloc(sizeof(sb));
b->m_a=(sa *)malloc(sizeof(sa));free(sb) //?直接释放
****************************************************
free(sa) //先释放内层
free(sb) //再释放外层
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货