|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 这样可以将获得的空间释放掉吗?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
868
人关注过本帖
标题:
这样可以将获得的空间释放掉吗?
只看楼主
加入收藏
dreamofgod
等 级:
职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
结帖率:
95.24%
楼主
收藏
已结贴
√
问题点数:20 回复次数:6
这样可以将获得的空间释放掉吗?
这样获取内存:
int
a[
10
]={
0
};
//
或者
int
* a=(
int
*)malloc(
40
);
中间没有其它变指针指向a获取的内存。
这样释放a获得的内存:
a=NUll;
//
或者
int
b[
10
]={
0
}; a=b;
这样操作会释放之前获取的内存吗?
如果不能的话,此时,原来空间该如何释放?
如果被释放了的话,下面这个操作是不是意味着,原来的a[0]位置内存已经被释放了呢?
a++;
求指教。
搜索更多相关主题的帖子:
内存
空间
color
2011-10-06 15:19
举报帖子
使用道具
赠送鲜花
embed_xuel
等 级:
贵宾
威 望:
58
帖 子:3845
专家分:11385
注 册:2011-9-13
第
2
楼
收藏
得分:7
回复 楼主 dreamofgod
获得的内存,是你主动获得的,也就是malloc获得的,需要用free释放掉。而在代码里定义的变量是操作系统给你分配在栈上的,会随着函数结束自动被释放,不用人工干预。
总有那身价贱的人给作业贴回复完整的代码
2011-10-06 16:01
举报帖子
使用道具
赠送鲜花
flyue
来 自:江南西道
等 级:
贵宾
威 望:
19
帖 子:3465
专家分:1563
注 册:2006-6-20
第
3
楼
收藏
得分:7
当初设计智能指针的想法就是这么来的。
天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2011-10-06 16:04
举报帖子
使用道具
赠送鲜花
laoyang103
来 自:内蒙古包头
等 级:
贵宾
威 望:
19
帖 子:3082
专家分:11056
注 册:2010-5-22
第
4
楼
收藏
得分:7
int* a=(int*)malloc(40);
a = NULL 这样你就把内存泄露了 也就是在你的程序生存期间
如果以前没有保存那个指针
那么你就不可能再去访问它
===========深入<----------------->浅出============
2011-10-06 16:08
举报帖子
使用道具
赠送鲜花
flyue
来 自:江南西道
等 级:
贵宾
威 望:
19
帖 子:3465
专家分:1563
注 册:2006-6-20
第
5
楼
收藏
得分:0
垃圾回收吧
天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2011-10-06 17:37
举报帖子
使用道具
赠送鲜花
dreamofgod
等 级:
职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
第
6
楼
收藏
得分:0
嗯,理解了,谢谢大家。
一个单片机就让我头疼不已~~~
2011-10-06 21:51
举报帖子
使用道具
赠送鲜花
mfh
等 级:
侠之大者
帖 子:179
专家分:411
注 册:2009-5-31
第
7
楼
收藏
得分:0
内存:静态内存、堆内存【可以通过MALLOC\FREE来自己控制】、栈内存。
2011-10-07 11:38
举报帖子
使用道具
赠送鲜花
7
1/1页
1
快速回复:
这样可以将获得的空间释放掉吗?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.030176 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved