【发布时间】:2015-04-24 02:11:05
【问题描述】:
C/C++ 中的动态内存分配通过malloc 和静态内存分配例如:int a[3]; 在代码执行后分配。
但是这段代码int x[y+1]; 只能在一个值被赋予 y 之后发生并且这发生在执行时间,所以它是静态的、动态的还是两者兼而有之?编译器会自动在机器码中插入malloc吗?
【问题讨论】:
-
旁注:
int x[y+1]不是有效的 C++(尽管大多数编译器都支持),它仅在 C 中有效。