C多维字符串数组



我声明一个字符串数组非常简单,硬编码,但它一直给我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"}
};

它声明了一个2D的const char *数组。

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

相关内容

  • 没有找到相关文章

最新更新