博客首页
注册
建议与交流
排行榜
加入友情链接
宝宝相册的专门空间
推荐
投诉
搜索:
帮助
aobai
给自己立法三章: 一:决不抄袭 二:向一个优秀的网络,linux专家看齐 三:做事要专心,要脚踏实地,step by stey PS:本blog完全是为了自己学习所用,如果转载文章有不妥的地方,请指出,一定改正。
aobai.cublog.cn
管理博客
发表文章
留言
收藏夹
· linux
· network
· other
· unix
· 别人的blog
}
· open source
· 资料中心
博客圈
音乐
· 喜欢
}
· 许巍
· 徐若瑄
· 张杰
相册
· 我的大学生活
· 同学
· 其他
· 家人
导入文章
文章
· linux
· 读书笔记
· unix
· 随笔
首页
读书笔记《c 专家编程》7
第七章
对内存的思考
就像堆栈段(通过alloc() 函数分配)能够根据需要自动增长一样,数据段中同样也包含了一个对象,用于完成这项工作,这个就是堆(heap)通过malloc()函数或同类函数分配。
用于管理内存的调用是:
malloc和free :从堆中获得内存以及把内存还给堆
brk和 sbrk :调整数据段的大小到一个绝对值
堆经常会出现两种问题:
释放或改写仍在使用的内存(内存损害)
未释放不再使用的内存(内存泄露)
导致段错误的几个直接原因:(p161)
常见错误:
1.坏指针值错误.
2改写错误
3指针释放引起的错误
详细的请看(161)
如何在链表中释放元素?
struct node *p,*start ,*temp;
for(p = start;p;p = tmp){
temp = p->next;
free(p);
}
发表于: 2008-05-11 ,修改于: 2008-05-11 23:59,已浏览235次,有评论0条
推荐
投诉
网友评论
发表评论