动态内存
malloc; calloc; realloc; free;
作用:
malloc:申请内存;
calloc:初始化为0;
realloc:修改内存大小;
free:释放内存;
动态申请100整型单元,且每个单元值为0:
int *arr=(int *) malloc(100*sizeof (int));
for(int i=0;i<100;i++)
{
arr[i]=0;
}
等同于:
memset (arr,0,100*sizeof(int))
这个函数仅限于设0,主要用来至0;
memset()的深刻内涵:用来对一段内存空间全部设置为某个字符。
realloc:修改内存大小:
int *arr = (int *)malloc(100*sizeof(int));
printf("%d\n",arr);
for(int i=0;i<100;i++)//模拟数组使用
{
arr[i] = i;
}
/*//等同realloc
arr = (int *)realloc(arr,200*sizeof(int));
free(arr);//释放原内存