C:static array and dynamic array

Create One-dimensional dynamic array

#include 
#include 
int main()
{
  int a[5];
  int len;
  int *pArr;
  int i;
  
  printf("请输入你要存放的数组元素的个数:");
  scanf("%d",&len) ;
// 本行动态的构造了一个一维数组,该一维数组的长度是len,
//该数组的使用和一维静态输的使用一样
  pArr = (int *)malloc(4*len);  //动态分配内存空间完毕后将首地址使用pArr存储
  
  //对一维数组进行操作, 如:对动态一位数组进行赋值
  for(i = 0;i < len;i++)
  {
      scanf("%d",&pArr[i]);
   } 
   
   //对一维数组进行输出
   for(i = 0; i < len;i++)
   {
      printf("%d\n",pArr[i]);
   } 
  
  free(pArr);//释放掉动态分配的数组 
  return 0;
}

动态内存和静态内存的比较
静态内存是有系统自动分配,有系统自动释放
静态内存是在栈中分配的

动态内存是由程序员手动分给,手动释放
动态内存是在分配的

你可能感兴趣的:(C:static array and dynamic array)