【问题标题】:3d character array problem in CC中的3d字符数组问题
【发布时间】:2011-07-25 00:02:57
【问题描述】:

我正在尝试为以下变量组合创建一个 3d 字符数组:一个可以容纳 10000 个项目的列表,该列表具有 500 个可以是 30 个字符长的描述符。描述符单独附加到每个项目。我尝试将其设置为: 字符猫[10000][500][30];但是当我运行它时它一直说分段错误......有什么想法吗?谢谢

【问题讨论】:

    标签: c string multidimensional-array segmentation-fault


    【解决方案1】:

    你的堆栈溢出了

    堆栈用于局部变量,它不是很大(通常为 1Mb) - 您正在尝试存储 10,000 * 500 * 30 = 150Mb

    看看 malloc()

    【讨论】:

    • 谢谢,当时真的很想远离malloc,因为刚开始学,对它不是很熟悉。我最终显着降低了约束以适应内存问题。
    【解决方案2】:

    我猜这个问题与您试图声明一个 150 兆字节 数组的事实有关。这个东西要填吗?是否会有正好 10000 个项目,每个项目正好有 500 个描述符,每个描述符不少于 30 个字符?如果其中任何一个问题的答案是否定的,那么您可能不需要提前分配全部 150 兆字节。

    为了让它正常工作,您可以改用malloc。这东西到底是用来做什么的?

    【讨论】:

    • “只是为了让它工作”我会使用 static 看看是否有帮助(尽管它可能不会。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    • 2013-11-25
    • 2020-11-05
    相关资源
    最近更新 更多