关于数据结构算第24个视频中销毁栈的一点疑问, 求大神指导
小甲鱼老师给出的函数如下:DestroyStack(sqStack *s){
int i, len;
len = s->stackSize;
for( i=0; i < len; i++ ){
free( s->base );
s->base++;
}
s->base = s->top = NULL;
s->stackSize = 0;
}
小弟对循环free语句不太懂, 在入栈的时候s->base是一次调用malloc 或realloc申请的内存, 在销毁的时候我觉得应该直接调用一次free(s->base);就可以了,为什么要循环调用free啊?怎么感觉好像是重复释放了啊?求各位大神指点迷津!{:1_1:}
求大神们路过的给个提示,想了半天没弄明白,小弟跪谢了
页:
[1]