黑马程序员技术交流社区
标题:
笔记:常见动态内存分配的函数
[打印本页]
作者:
wlh0803
时间:
2015-7-26 15:53
标题:
笔记:常见动态内存分配的函数
常见动态内存分配的函数
1.malloc
使用方法 void *malloc (unsigned size) ,size是分配的字节数。包含在库函数stdlib.h中。
作用:在内存的堆区分配一个大小为size的连续空间。如果分配成功,返回新分配内存的首地址,否则返回NULL。
#include <stdio.h>
#include <stdlib.h>
int main(){
int *p = (int *)malloc(4*sizeof(int));
if(p!=NULL){
//内存申请成功
}else{
//申请失败
}
free(p); //释放p的内存空间
p = NULL;
return 0;
}
2.calloc
格式:calloc(块数,长度)
//分配4块,每块内存长度为4的内存空间
int *p = (int *)calloc(4,sizeof(int));
注意事项:可以帮分配的内存空间初始化为0
3.relloc
作用:可以给已经存在的空间扩充大小。
#include <stdio.h>
#include <stdlib.h>
int main(){
int *p = (int *)malloc(4*sizeof(int));
//扩充p的大小,首地址可能变也可能不变
p = relloc(p,40*sizeof(int));
if(p!=NULL){
//内存申请成功
}else{
//申请失败
}
return 0;
}
作者:
liusuizuoyou
时间:
2015-7-26 17:28
我得好好补补
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2