读书人

问一下关于free()函数的有关问题

发布时间: 2012-02-11 09:51:34 作者: rapoo

问一下关于free()函数的问题
如果你拿malloc开辟了100大小的空间赋给了p,最后程序结束了要把内存还回去,所以写free(p);
可是今天看书,单链表只删除一个节点q,也是free(q);
那么用free()函数时,怎么判断他是回收了一个节点的大小还是回收了以p为首地址的一片内存区呢?

[解决办法]
没有malloc是不能free的,一般你malloc了之后,指针要先判空。。。
[解决办法]
单链表的建立时,如果是按节点来申请空间的,那么释放的时候,也是按节点的释放。free(q);这句话应该是释放了一个节点的空间。

读书人网 >C语言

热点推荐