9_malloc()动态分配内存概述
动态内存的分配和释放
CASE 1
#icclude<stdio.h>
#include<malloc.h>
int main(void)
{
inta[5]={1,2,3,4,5}; //静态数组
intlen;
printf(“请输入你需要分配的数组长度:len=”);
scanf(“%d”,&len);
int*pArr=(int *)malloc(sizeof(int)*len); //(int*)为强制转换,强制使pArr指向前四个字节。可以将pArr当做数组名来操作
//*pArr=4;//类似于a[0]=4;
// pArr[1]=10;//类似于a[1]=10;
// printf(“%d%d\n”,*pArr,pArr[1]);
//我们可以把pArr当做一个普通数组来使用
for(int i=0;i<len;++i)
scanf(“%d”,&pArr);
for(i=0;i<len;++i)
printf(“%d\n”,*(pArr+i));
free(pArr); //把pArr所代表的的动态分配的20个字节的内存释放
return0;
}