Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何将特定大小的二维阵列从动态更改为静态?_C_Arrays_Dynamic_Static_2d - Fatal编程技术网

C 如何将特定大小的二维阵列从动态更改为静态?

C 如何将特定大小的二维阵列从动态更改为静态?,c,arrays,dynamic,static,2d,C,Arrays,Dynamic,Static,2d,我目前拥有动态阵列: char *myData[500][10]; //myData is the name of an array of[500][10] pointers to type char. 我想创建一个静态2d数组,500行X 10列,每个元素存储40个字符的内存 下面是正确的声明方式吗 char myData[500][10][40]; 对 但是: 这是一个大型结构,在堆栈上声明它可能不是一个好主意 这种方法的灵活性不如动态版本 如果您打算使用以NULL结尾的字符串,最

我目前拥有动态阵列:

char *myData[500][10]; //myData is the name of an array of[500][10] pointers to type char.  
我想创建一个静态2d数组,500行X 10列,每个元素存储40个字符的内存

下面是正确的声明方式吗

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

但是:

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

    但是:

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