当我定义
void tfooo(){
int arr[SOME_LARGE_NUMBER];
// some code here
}
我得到堆栈溢出,但当我添加static关键字时
void tfooo(){
static int arr[SOME_LARGE_NUMBER];
// some code here
}
百事大吉。
有什么关系?静态数组与动态数组不是总是在堆栈上定义的吗?
发布于 2018-05-29 06:47:40
通常情况下,声明为automatic的对象分配在堆栈上(堆栈相对较小),而声明为static
的对象分配到其他地方。
请注意,这取决于您的机器和编译器。
https://stackoverflow.com/questions/50573999
复制相似问题