社区
其它技术问题
帖子详情
结构体指针问题
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
打赏
收藏
结构体指针问题
如果一个结构体内部含有指针成员,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)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wanjingwei
2009-05-14
打赏
举报
回复
mark
猫已经找不回了
2009-05-14
打赏
举报
回复
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的相反。
结构体中的
结构体指针
问题
博客围绕结构体中的
结构体指针
问题
展开。学习
结构体指针
时,定义含指向自身
结构体指针
的结构体,初始化并赋值后出现警告和访问成员解引用错误。最终找出原因是Ex结构体声明错误,解决方案是定义结构体标签来声明。
结构体指针
与非指针
问题
及解决
博客围绕
结构体指针
与非指针展开,通过两段代码实例阐述调用结构体时使用指针和非指针的情况及
问题
原因。还介绍了访问方式差异,不使用指针改用结构体数组的优缺点,最后对指针和非指针进行了对比总结。
Golang结构体中指针赋值
问题
本文探讨了在Golang中遇到的
结构体指针
赋值
问题
。当尝试直接赋值时,编辑器会报错。解决方法是通过临时变量来存储函数返回的指针,然后再将其赋值给结构体的指针字段。遵循这一方法可以避免编译错误。
关于结构体内结构体成员的
结构体指针
初始化
问题
文章讨论了在C语言中使用
结构体指针
时遇到的初始化
问题
,特别是在构建循环链表的场景下。初始代码在初始化结构体CircleLinkList的head指针时导致编译错误。
问题
出在没有对结构体内的指针进行内存分配。修正方法是将结构体成员head由指针改为实际的结构体实例,并在初始化函数中设置head.next为其自身地址,从而解决了编译错误。
结构体指针
变量初始化
问题
本文解析了C语言中结构体变量和指针初始化的误区,强调了为
结构体指针
赋明确地址的重要性,并给出了正确初始化的示例。同时讨论了为何直接定义结构体变量不会导致
问题
,解释了编译器如何为栈和堆分配内存。
其它技术问题
3,881
社区成员
9,044
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章