结构体指针问题

wudizuijimo 2009-05-14 08:22:29
如果一个结构体内部含有指针成员,free的时候还需要free里面得指针变量的内存么么?
比如
typedef struct Std
{
int age;
char* name;
}Std;

Std* pSmallStd;
pSmallStd = (Std*) malloc(sizeof(Std));
pSmallStd->name = (char*) malloc(100);

//free(pSmallStd->name)//这句是必须得么?
free(pSmallStd)
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanjingwei 2009-05-14
  • 打赏
  • 举报
回复
mark
  • 打赏
  • 举报
回复
pSmallStd = (Std*) malloc(sizeof(Std));
pSmallStd->name = (char*) malloc(100);

free的顺序跟malloc相反就是了。
zhangchaokun 2009-05-14
  • 打赏
  • 举报
回复
需要
free(pSmallStd->name);
free(pSmallStd);
lingyin55 2009-05-14
  • 打赏
  • 举报
回复
malloc和free是配对出现的,所以有malloc肯定要用free
「已注销」 2009-05-14
  • 打赏
  • 举报
回复
当然
crst_zh 2009-05-14
  • 打赏
  • 举报
回复
必须的,凡是malloc的你就必须free
还要注意顺序。正好和 malloc的相反。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧