使用malloc实现动态动态数组

静态数组有一个弊端,就是在创建的时候数组的长度就已经确定了,并且不能更改了,并且使用之后如果我们不需要了,还不能销毁。使用malloc函数可以实现动态的创建数组,我们需要多长 的数组就创建多长的数组,而且当我们不需要了,可以进行动态的销毁,从而实现了对我们计算机内存的回收利用

``

#include "stdio.h"
#include"malloc.h"
int main()
{
  //静态数组
  int a[5] = {3,4,0,1,4};
  int len;
    printf("请输入你要创建数组的长度:len=:\n");
    scanf("%d",&len);
    int *prr = (int *)malloc(sizeof (int)*len);//prr存储数组的地址
    //此时可以完全将prr看成是一个数组
    for(int i=0;i<len;i++)
    {
        //给数组赋值
       scanf("%d",&prr[i]);
       // scanf("%d",&*(prr+i));
    }
    printf("静态数组输出:\n");
    for(int i= 0;i<5;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
    printf("动态数组输出:\n");
    for(int i=0;i<len;i++)
    {
        printf("%d ",prr[i]);
       // printf("%d ",*(prr+i));
    }
    printf("\n");
    free(prr);//回收分配的内存
    return 0;
}

posted @ 2023-04-06 12:49  一往而深,  阅读(571)  评论(0编辑  收藏  举报