#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int a[5] = {1,2,3,4,5}; //静态数组
int len;
printf("请输入你需要分配的数组长度:len=");
scanf("%d",&len);
int *pArr = (int *)malloc (sizeof(int)*len);
//(int*)的意思是把pArr强制转换成存放int类型地址的变量,
//强制使得pArr指向前四个字节,可以将pArr当作数组名来操作
*pArr = 4;//类似于a[0]=4;
pArr[4]=10; //类似于a[1]=10; pArr[4]等价于*(pArr+4)
printf("%d %d\n",*pArr,pArr[4]);
for (int i = 0; i<len;++i)
scanf("%d",&pArr[i]);//pArr[i]表示*(pArr+i)
for (int i = 0; i<len;++i)
printf("%d\n",*(pArr+i));//pArr[i]表示*(pArr+i)
free(pArr); //把pArr指向的动态分配的20个字节的内存释放
return 0;
}
【数据结构】malloc()动态分配内存
最新推荐文章于 2023-09-18 09:29:46 发布