我读到虽然动态内存是在运行时在堆上分配的,但静态内存是在编译时在堆栈上分配的,因为编译器知道在编译时必须分配多少内存。
考虑以下代码:
int n;
cin>>n;
int a[n];
如果仅在运行期间读取其实际大小,编译器如何知道在编译时为 a[] 分配多少内存?
我读到虽然动态内存是在运行时在堆上分配的,但静态内存是在编译时在堆栈上分配的,因为编译器知道在编译时必须分配多少内存。
考虑以下代码:
int n;
cin>>n;
int a[n];
如果仅在运行期间读取其实际大小,编译器如何知道在编译时为 a[] 分配多少内存?