动态内存申请
分配
静态分配,
在编译或运行时,按事先规定大小分配空间
必须事先制定所需空间大小
分配在栈区或全局变量区,一般以数组形式
按计划分配
动态分配,
在程序运行中,根据需要大小自由分配,需要程序员自己分配
分配在堆区,一般使用特定函数分配
按需分配
动态分配函数
malloc
p = (类型转变*)malloc(sizeof(int))
if(p ==NULL){error}判断申请是否成功
memset(p,0 值,4*10 空间大小 字节)
free(p);
p = NULL;
calloc(自动化初始0) =malloc +memset
(10,sizeof(int))
p = realloc(p,100),重新开辟空间
内存泄露
1.只申请不释放
2.申请的内存首地址丢了,找不到了,再也没有办法使用,也没有办法释放