c - 如何将特定大小的二维数组从动态更改为静态?

标签 c arrays dynamic static 2d

我目前有动态数组:

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];

最佳答案

是的。

但是:

  • 这是一个很大的结构,在栈上声明它可能不是一个好主意
  • 这种方法的灵 active 不如动态版本
  • 如果您打算使用包含最多 40 个字符的 NULL 终止字符串,您应该使用 [500][10][41]\0留出空间

关于c - 如何将特定大小的二维数组从动态更改为静态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1059555/

相关文章:

c - 如何使一个 makefile 引用另一个 makefile

c++ - 从 1 开始数组索引有问题吗?

python - 动态添加类成员使用字符串命名

java - 从属性名称获取属性的类

javascript - 动态属性值而不是函数?

c - 如何在 Tizen Gear S2 本地文件系统上写入文本文件?

c - 如何在与不同机器上的多个客户端连接的服务器中管理应用程序的多个实例

python - 如何在python中将两个不同维度的数组滚动成一维数组

python - 在Python中旋转第一个元素并产生不同的结果

c - 无法用c语言读取文件。它创建一个新文件而不是读取它