动态内存:动态创建内存,创建大内存
在Windows中,堆中最大的连续内存大概1.3G左右
一、申请
1.malloc(当我们需要在堆中申请一块连续且指定大小的内存块时的内存时,我们可以使用动态内存。)
参数:size(分配的字节)
需要的头:<stdlib.h>和<malloc.h>
使用:指针类型+变量名=(指针类型)+malloc+(n*sizeof(数据类型));
例如:int main()
{
int n=10;
int *p=(int*)malloc(n*sizeof(int)); //动态创建内存 //int p[n]
free(p);
return 0;
}
malloc 有两个兄弟 calloc(自动置零) 和 realloc(扩容)
现在我们就来说说这两个函数
2.calloc
两个参数:(1)num 元素的数目
(2)size 字节长度
必须的头:<stdlib.h>和<malloc.h>
//calloc的使用
int *p=(int*)calloc(a,sizeof(int));
下面的等同于calloc
int *p=(int*)malloc(a