更改静态数组的大小

Vij*_*jay 3 c c++

我们在代码中声明了如下所示的数组.数组将在堆栈本身上处理.我们没有用malloc或分配堆上的任何内存new

char a[20000];
Run Code Online (Sandbox Code Playgroud)

现在我们需要将它改为1800000(180kb)而不是20kb.如下:

char a[1800000];
Run Code Online (Sandbox Code Playgroud)

我们只是用一些数据填充数组.这是一件有效的事吗?

我们可能遇到的问题是什么?我只担心价值似乎太大了.有没有更好的方法来绕过这种需求?

我正在开发solaris unix平台.

Cha*_*had 5

声明的变量大小的显着增加会影响堆栈.我建议用a替换它std::vector,这将创建堆所需的大量内存.C++毕竟这是标记的.