
8.7 动态存储分配
在C语言中有一种称为“动态存储分配”的内存空间分配方式:程序在执行期间需要存储空间时,通过“申请”分配指定的内存空间;当闲置不用时,可随时将其释放,由系统另作它用。本节介绍C语言中动态分配系统的主要函数:malloc()、calloc()、free()及realloc(),使用这些函数时,必须在程序开头包含文件stdlib.h。
1.主内存分配函数—malloc()
函数格式:void*malloc(unsigned size);
函数功能:从内存中分配一大小为size字节的块。
参数说明:size为无符号整型,用于指定需要分配的内存空间的字节数。
返回值:新分配内存的地址,如无足够的内存可分配,则返回NULL。
说明:当size为0时,返回NULL。
2.主内存分配函数——calloc()
函数格式:void*malloc(unsigned n,unsigned size);
函数功能:从内存中分配n个同一类型数据项的连续存储空间,每个数据项的大小为size字节。
参数说明:n为无符号整型,用于指定分配的数据项的个数size为无符号整型,用于指定需要分配的数据项所占内存空间的字节数。
返回值:新分配内存的地址,如无足够的内存可分配,则返回NULL。
3.重新分配内存空间函数——realloc()
函数格式:void*realloc(void *block,unsigned size);
函数功能:将block所指内存区的大小改为size字节的块。
参数说明:block为void类型的指针,指向内存中某块,size为无符号整型,用于指定需要分配的内存空间的字节数。
返回值:新分配内存的地址,如无足够的内存可分配,则返回NULL。
4.释放内存函数—free()
函数格式:void free(void*block);
函数功能:将calloc()、malloc()及realloc()函数所分配的内存空间释放为自由空间。
参数说明:block为void类型的指针,指向要释放的内存空间。
返回值:无。
2017年计算机二级C语言指针考点归纳4.doc正在阅读:
2017年计算机二级C语言指针考点归纳408-30
精选相声绕口令:登山05-06
四川2017经济师准考证打印时间:10月30日-11月3日01-23
高中入团申请书600字通用版09-07
2017年计算机二级C语言指针考点归纳308-30
2018下半年北京中小学教师资格证成绩查询时间及查分入口已公布08-21
2017年辽宁高校高水平运动队测试合格考生名单(沈阳理工大学)01-09
北京劳动保障职业学院招生网2017年北京劳动保障职业学院录取查询入口【点击进入】01-26
参加朋友婚礼祝福语美句06-27
生命的奇迹作文800字01-14