小编use*_*688的帖子

C:如何管理大型结构?

在C:

我试图使用包含大数组的结构,并在声明它时发生堆栈溢出错误.我猜(正确吗?)我在堆栈中没有足够的内存,因此,我应该使用堆(我不想改变我的堆栈内存大小,因为代码将由其他人使用).有人能告诉我一个简单的方法吗?或者我应该使用除结构之外的其他东西?

我的代码 - definitions.h:

#define a_large_number 100000

struct std_calibrations{
    double E[a_large_number];
};
Run Code Online (Sandbox Code Playgroud)

我的代码 - main.c:

int main(int argc, char *argv[])
{
    /* ...
    */

    // Stack overflows here:
    struct std_calibrations calibration;

    /* ...
    */

    return (0);
} 
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

c heap structure

5
推荐指数
1
解决办法
109
查看次数

标签 统计

c ×1

heap ×1

structure ×1