VS中默认栈空间大小是1M.
你这么大栈空间申请, 到底会不会栈溢出, 取决你程序的复杂度.
如果你只是一个main函数的dos窗口程序, 那多半是无问题的.
但如果是一个复杂的窗口程序中的某些常用类有这样的大内存申请, 又不是new出来的. 那就需要注意了.超过一个大小, 最好使用new吧. 不要太在意内存碎片.
你这么大栈空间申请, 到底会不会栈溢出, 取决你程序的复杂度.
如果你只是一个main函数的dos窗口程序, 那多半是无问题的.
但如果是一个复杂的窗口程序中的某些常用类有这样的大内存申请, 又不是new出来的. 那就需要注意了.超过一个大小, 最好使用new吧. 不要太在意内存碎片.
new和malloc用堆空间。
其它的方式用栈空间。
堆空间是堆空间,栈空间是栈空间。不要说堆栈空间,这是两不同的东西。
new和malloc用堆空间。
其它的方式用栈空间。
堆空间是堆空间,栈空间是栈空间。不要说堆栈空间,这是两不同的东西。
汇编语言中的PUSH指令,不就是把一个数压入到堆栈中的吗?我记得当时就叫“堆栈”。
实在要用就改下堆栈大小
#pragma comment(linker, "/STACK:100000000,100000000")
建议使用new 申请需要的字节,new的空间仍然可以按char c[25][25][25][25]形式对待和使用
new和malloc用堆空间。
其它的方式用栈空间。
堆空间是堆空间,栈空间是栈空间。不要说堆栈空间,这是两不同的东西。
汇编语言中的PUSH指令,不就是把一个数压入到堆栈中的吗?我记得当时就叫“堆栈”。 stack和heap
在占用内存空间较大的局部数组声明的前面加static将其从堆栈数据段挪到全局数据段即可避开因局部数组大小超过默认堆栈大小1MB造成程序不能正常运行的问题。