如何声明一个大小为 2^18 的结构数组

How can I declare a struct array with the size 2^18

这是我的结构

struct Entry {
    int a;
    int b;
};

int main() {

    struct Entry data[260000]; //ok
    struct Entry data[262144]; //crash

    return 0;
}

我想声明一个大小为 2^18(262144 个元素)的 Entry 数组,但我无法这样做。好像我超出了最大值。还有其他方法吗?

auto 上下文(在堆栈上)没有足够的空间容纳该数组, 将其声明为静态或全局,或动态分配。