1 / 2
文档名称:

C语言:malloc()函数与alloc()函数.doc

格式:doc   大小:28KB   页数:2
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言:malloc()函数与alloc()函数.doc

上传人:乘风破浪 2018/10/29 文件大小:28 KB

下载得到文件列表

C语言:malloc()函数与alloc()函数.doc

相关文档

文档介绍

文档介绍:C语言:malloc()函数与alloc()函数
C语言跟内存分配方式
(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。
(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
(3)从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也最多
C语言跟内存申请相关的函数主要有 alloca,calloc,malloc,free,realloc,sbrk等.
其中alloca是向栈申请内存,因此无需释放. malloc分配的内存是位于堆中的,并且没有初始化内存的内容,因此基本上malloc之后,调用函数memset来初始化这部分的内存空间.
calloc则将初始化这部分的内存,设置为0. . 而sbrk则是增加数据段的大小;
malloc/calloc/free基本上都是C函数库实现的,,那么将首先调用brk系统调用来增加可用空间,,释放的内存并不立即返回给os,而是保留在内部结构中. 可以打个比方: brk类似于批发,一次性的向OS申请大的内存,而malloc等函数则类似于零售,.
使用这套机制的原因: 系统调用不能支持任意大小的内存分配(有的系统调用只支持固定大小以及其倍数的内存申请,这样的话,对于小内存的分配会造成浪费; 系统调用申请内存代价昂贵,涉及到用户态和核心态的转换. 函数malloc()和calloc()都可以用来分配动态内存空间,但两者稍有区别。
malloc()函数有一个参数,即要分配的内存空间的大小:
Void *malloc(size_t size);
calloc()函数有两个参数,分别为元素的数目和每个元素的大小,这两个参数的乘积就是要分配的内存空间的大小:
void*calloc(size_t numElements,size_t sizeOfElement);
如果调用成功,函数malloc()和calloc()都将返回所分配的内存空间的首地址。
malloc() 函数和calloc()函数的主要区别是前者不能初始化所分配的内存空间,而后者能。如果由malloc()函数分配的内存空间原来没有被使用过,则其中的每一位可能都是0;反之,如果这部分内存空间曾经被分配、释放和重新分配,则其中可能遗留各种各样的数据。也就是说,使用malloc()函数的程序开始时(内存空间还没有被重新分配)能正常运行,但经过一段时间后(内存空间已被重新分配)可能会出现问题。
calloc() 函数会将所分配的内存空间中的每一位都初始化为零,也就是说,如果你是为字符类型或

最近更新

2026年计算机二级c语言真题a4版 13页

2026年起重机司机考试题库200道完整参考答案 76页

2026年陕西省选调生招录(面向西北大学)备考.. 50页

2026年广元中核职业技术学院单招职业适应性测.. 44页

2026年心理咨询师考试题库300道含答案(达标题.. 77页

2026年文明礼仪知识竞赛奥运医护常识试卷100道.. 41页

c语言设计考试题库(各地真题) 13页

2026年昆明市悦宏教育集团聘用教师招聘(45人.. 48页

2026年锅炉操作工考试题库200道及答案(夺冠).. 74页

医院廉政知识测试题往年题考 14页

小学历史与文化知识竞赛题库100道【预热题】 37页

项目质量保障优化建议书 6页

项目补勘改进建议书 5页

项目美观设计建议书 5页

项目维修服务优化建议书 6页

项目文本规划建议书 6页

2026年法考考试题库200道附完整答案(夺冠) 98页

2026年注册会计师(CPA)考试题库200道【历年.. 103页

非诉纠纷检察建议书 6页

青年教师自我提升建议书 5页

青少年戒烟建议书 4页

雨水排放优化建议书 5页

雅致生活空间装修建议书 5页

陈旧瓦房屋顶升级建议书 5页

防疫职工保障建议书 5页

队伍素质提升方案建议书 6页

闺蜜婚前祝福点睛建议书 5页

2026年江西交通职业技术学院单招职业倾向性考.. 37页

2025年新疆考试录用公务员《公安专业科目》真.. 30页

2025年安徽邮电职业技术学院单招职业技能测试.. 66页