Chinaunix
标题:
free的一个问题
[打印本页]
作者:
pengxihan
时间:
2010-09-17 21:01
标题:
free的一个问题
<code>
struct my_struct *p = NULL;
p = malloc(sizeof(struct my_struct) * N);
free(p);
</code>
请问free(p)能释放掉N个my_struct的内存吗?如果改成:
<code>
struct my_struct *p = NULL;
struct my_struct *tmp = NULL;
p = malloc(sizeof(struct my_struct) * N);
tmp = p;
free(tmp);
</code>
free(tmp)是一个还是N个?
作者:
l.darkfire
时间:
2010-09-17 21:26
全部会被释放
作者:
pengxihan
时间:
2010-09-17 21:37
回复
2#
l.darkfire
第二种情况呢?
作者:
l.darkfire
时间:
2010-09-17 21:50
一样,全部会被释放。
作者:
adexbn
时间:
2010-09-19 10:46
全部释放。
但是有一个问题,如果你的struct里面有指针,他们指向的地址你自己处理。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2