黑马程序员技术交流社区
标题: 内存分配函数 [打印本页]
作者: wtj900 时间: 2015-9-6 20:11
标题: 内存分配函数
本帖最后由 wtj900 于 2015-9-6 20:15 编辑
1)malloc 函数
格式: void * malloc(unsigned size);
从内存的堆区分配大小为size个字节的连续的内存空间
如果内存分配成功 返回内存的首地址
失败 NULL
注意:malloc 申请的内存空间,如果我们不赋值是垃圾数
例:int *p = (int *)malloc(4*sizeof(int)); //16个字节
memset(p,'a',16);//使用一个函数给malloc申请的空间进行初始化
2)callloc 分配指定块数和长度的内存空间
格式:calloc(块数,长度)
calloc 它可以帮我们自动的初始化为0
例:int *p = (int *)calloc(4, sizeof(int)); //16个字节
3)realloc 函数可以给已经存在的空间扩充大小
例:p = realloc(p, 40*sizeof(int));
4)应该使用free()函数释放内存空间
格式:free(要释放的空间的首地址)
free(p);
free(p)以后,p是一个野指针,要执行下面的操作
p = NULL;
作者: kylmetz 时间: 2015-9-6 20:17
好的,受教了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |