【发布时间】:2012-11-05 08:50:44
【问题描述】:
如何声明这样的数组:
int array[1000000];
作为静态数组、堆栈数组和堆分配数组?
【问题讨论】:
-
这没有任何意义......如果它在堆栈上,它也会被从堆栈中推送/弹出,并且不会满足
static的要求。 -
也许他在问如何制作静态本地?当然,这很简单——语法是一样的,你只要把它放在一个函数中,就像任何其他本地函数一样。
-
他可能想知道为什么当
static是not 时,当他进入一个将 ESP 递减 4/8 MB 的函数作用域时,运行时会出现下溢。那里。只是一种预感,白话让他感到困惑。亚当?你想要这个是因为你的程序在没有static存在的情况下进入这个函数就死了吗?? -
我想要它,因为我不知道如何在 C 中的堆栈上实现一个数组。它不喜欢具有 Stack 类的 Java
-
@AdemHaklı:要在堆栈上声明该数组,请编写如下函数:
void foo() { },然后将该数组 (int array[1000000];) 复制并粘贴到函数的大括号之间,因此它变成void foo() { int array[1000000]; }。哇,那是堆栈上的一个数组。