c中变量数组的内存分配

时间:2015-02-18 16:56:54

标签: c

在运行时或编译时在c中分配内存到变量数组吗?

int n; 
printf("Enter size of the array: ");
scanf("%d",&n);

int a[n];
for(int i=0; i<n; i++)
   {
      a[i] = 0;
   }
}

2 个答案:

答案 0 :(得分:2)

由于数组的大小n是在运行时定义的,因此分配也会在运行时进行。

内存是从堆栈中分配的,这比从堆中分配的速度快。但是你可以保留多少内存。

答案 1 :(得分:1)

它在运行时分配但在堆栈上不在堆上。