|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 新手请教关于内存分配与释放的问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
753
人关注过本帖
标题:
新手请教关于内存分配与释放的问题
只看楼主
加入收藏
无冥拉丁
来 自:重庆
等 级:
新手上路
帖 子:8
专家分:5
注 册:2016-2-26
结帖率:
50%
楼主
收藏
已结贴
√
问题点数:10 回复次数:3
新手请教关于内存分配与释放的问题
今天在编程时不小心将PNODE pNew = (PNODE)malloc(sizeof(
NODE
))写为PNODE pNew = (PNODE)malloc(sizeof(
PNODE
))
PNODE与NODE的区别在与PNODE是指针;
后面在释放所分配的内存时报错,但是不进行内存释放时程序运行无报错,请问这是什么原因?求大神指点,谢谢!!
2016-03-14 21:48
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
2
楼
收藏
得分:10
得到的內存與所請求的尺寸不同,但被強制視爲所請求的數據類型,所以釋放時因對不上號出錯。不釋放,操作系統在程序結束後自動回收所有內存——實際上現代的操作系統是不需要釋放這類內存的,但並不保證所有的包括舊系統也有這種機制,所以一般來説釋放穩妥,當你保證程序不運行在太古老偏僻的系統上時,儘管不釋放好了。
授人以渔,不授人以鱼。
2016-03-14 21:55
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
3
楼
收藏
得分:0
你不要以為程序運行“無報錯”就沒事,那是你走運,恰好沒事而已,因爲得到的東西與預期實際上是不符的,已經越界使用了資源,恰好沒踩到地雷,表現爲沒報錯,不等於程序這樣寫是對的。
授人以渔,不授人以鱼。
2016-03-14 21:59
举报帖子
使用道具
赠送鲜花
无冥拉丁
来 自:重庆
等 级:
新手上路
帖 子:8
专家分:5
注 册:2016-2-26
第
4
楼
收藏
得分:0
回复 3楼 TonyDeng
了解了,谢谢你的指点
2016-03-14 22:06
举报帖子
使用道具
赠送鲜花
4
1/1页
1
快速回复:
新手请教关于内存分配与释放的问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.021392 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved