【发布时间】:2018-10-01 17:58:06
【问题描述】:
我知道静态(由编译器确定)和动态(在运行时确定)分配之间的区别。我不明白的是,在我们遇到以下情况时会发生什么:
int n = 5;
int arr[n];
arr 不是用 malloc 分配的,所以不能放在堆上。但是,它也不能静态分配,因为程序必须运行才能确定 a 的大小。那么 arr 是如何分配的呢?
【问题讨论】:
-
arr 没有用 malloc 分配你在代码中使用 malloc 了吗?!
-
这里有一个很好的解释stackoverflow.com/questions/40464927/…
标签: c