在运行时或编译时在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;
}
}
答案 0 :(得分:2)
由于数组的大小n
是在运行时定义的,因此分配也会在运行时进行。
内存是从堆栈中分配的,这比从堆中分配的速度快。但是你可以保留多少内存。
答案 1 :(得分:1)
它在运行时分配但在堆栈上不在堆上。