结构体可以释放么?

tengye19840704 2009-06-04 10:50:46
头文件里定主个结构体
typedef struct _DataRyouIKi
{
char item1[256]; //データ(1)領域
char item2[256]; //データ(2)領域

}DATARYOUIKI;
写个函数aaa()..在主函数里调用,,,其中有个要求是要如果结构体有...要释放,,,,这个什么意思啊..怎么判断有没有啊...
主要是怎么释放啊?
...全文
391 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
snail_1989 2009-06-04
  • 打赏
  • 举报
回复
LZ真牛,竟然看日文教材,汗
blh 2009-06-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 tengye19840704 的帖子:]
头文件里定主个结构体
typedef struct _DataRyouIKi
{
char item1[256]; //データ(1)領域
char item2[256]; //データ(2)領域

}DATARYOUIKI;
写个函数aaa()..在主函数里调用,,,其中有个要求是要如果结构体有...要释放,,,,这个什么意思啊..怎么判断有没有啊...
主要是怎么释放啊?
[/Quote]

LZ的中文实在是。。。。 -_-!!!
zlfavor 2009-06-04
  • 打赏
  • 举报
回复
动态生成的,最后都要手动释放(在堆中分配内存)。而其他的不需要手动去释放(在栈中分配的),会自动释放掉的
lylm 2009-06-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 tengye19840704 的帖子:]
头文件里定主个结构体
typedef struct _DataRyouIKi
{
char item1[256]; //データ(1)領域
char item2[256]; //データ(2)領域

}DATARYOUIKI;
写个函数aaa()..在主函数里调用,,,其中有个要求是要如果结构体有...要释放,,,,这个什么意思啊..怎么判断有没有啊...
主要是怎么释放啊?
[/Quote]
一个简单的判断方法:如果程序中有malloc,需要free,如果有new,需要delete,其他由编译器处理,不用管。
lengensky 2009-06-04
  • 打赏
  • 举报
回复
同意LS.
kangde 2009-06-04
  • 打赏
  • 举报
回复
动态分配的需要释放,

动态分配可以 malloc 家族, 也可以 new ,
都要释放才成
program2050 2009-06-04
  • 打赏
  • 举报
回复
呵呵,堆栈还是有点不一样的。
lingyin55 2009-06-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 tengye19840704 的帖子:]
头文件里定主个结构体
typedef struct _DataRyouIKi
{
char item1[256]; //データ(1)領域
char item2[256]; //データ(2)領域

}DATARYOUIKI;
写个函数aaa()..在主函数里调用,,,其中有个要求是要如果结构体有...要释放,,,,这个什么意思啊..怎么判断有没有啊...
主要是怎么释放啊?
[/Quote]

像你这种没有必要释放,定义了两个数组,这时程序已经在栈上为你分配了空间。
退出时程序会自动进行栈空间的释放。
nosxcy 2009-06-04
  • 打赏
  • 举报
回复
如果你在使用结构体时,动态申请了存储单元,那你在使用结束后就要释放你所申请的存储单元.
否则就不需要.
wangyadong 2009-06-04
  • 打赏
  • 举报
回复
有new 就delete
没new 就不能delete
w0911h 2009-06-04
  • 打赏
  • 举报
回复
没太看懂你的意思,如果定义了结构体变量并且分配了空间就要释放,比如
DATARYOUIKI* da = (DATARYOUIKI*)malloc(sizeof(DATARYOUIKI));
......//process
free(da);//这里就要释放

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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