【问题标题】:How to change a 2d array from dynamic to static of a specific size?如何将二维数组从动态更改为特定大小的静态?
【发布时间】:2009-06-29 17:49:15
【问题描述】:

我目前有动态数组:

char *myData[500][10]; //myData is the name of an array of[500][10] pointers to type char.  

我想创建一个静态二维数组,500 行 X 10 列,每个元素存储 40 个字符的内存。

以下是正确的声明方式吗?

char myData[500][10][40];

【问题讨论】:

    标签: c arrays dynamic static 2d


    【解决方案1】:

    是的。

    但是

    • 这是一个大型结构,在堆栈上声明它可能不是一个好主意
    • 与动态版本相比,此方法的灵活性较低
    • 如果您打算使用最多包含 40 个字符的数据以 NULL 结尾的字符串,您应该使用 [500][10][41]\0 留出空间

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      • 2021-09-04
      • 1970-01-01
      • 2014-06-03
      • 1970-01-01
      • 2012-03-26
      • 1970-01-01
      相关资源
      最近更新 更多