C多维字符串数组

标签 c string multidimensional-array

我声明一个字符串数组非常简单,硬编码,但它总是给我 array type has incomplete element type 错误。

我想这与每个数组的长度有关,但我不知道如何在不为字符串设置固定长度的情况下修复它。

char allocate[][2][] = {  // Error with or without the 2
    {"value1","value2"},
    {"value3","value4"}
};

最佳答案

该语法无效。如果您想要一个真正的多维数组,则必须指定除第一个维度之外的所有维度。 (编译器必须知道“内部”数组有多大才能对外部维度执行地址计算。)

试试这个:

const char *allocate[][2] = {
    {"value1","value2"},
    {"value3","value4"}
};

它声明了一个 const char * 的二维数组。

请注意,如果您需要可以写入 的字符串,那么上述方法将不起作用。

关于C多维字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5841792/

相关文章:

c - 安装了 OpenSSL,没有 openssl.h 文件

c - C 语言编程中查找多维数组中的元素

c++ - 如何在 C/C++ 中获取多维数组的列?

c - C的FILE有面向对象的接口(interface)吗?

c - 可编辑 GtkTreeView 的困难

java - 使用 Java 和 RegEx 转换字符串中的大小写

C++调用一个从txt文件输出信息的函数

c++ - 如何使用迭代器初始化映射的关键字段?

ruby-on-rails - ruby : multidimensional %w array?

php - 对两个多维数组之间的对应元素求和