如何在c中初始化没有指针的三维char
数组并访问它?
我尝试了以下方法:
char card[1][3][15]={
{"iron","man"},
{"contagious","heide"},
{"string","middle"}
};
但我正在
**Error:too many initializers**
**Warning: Array is only partially initialized**
答案 0 :(得分:3)
让我们举一个简单的例子......您可以使用自己的值而不是这些整数:
声明:
int arr[2][3][4] = { { {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4} },
{ {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4} } };
我希望,你很清楚。
答案 1 :(得分:2)
考虑你的例子本身:
我认为应该是
char card[1][3][15]={ {"iron","man", "contagious"}};
这意味着你可以有效地创建3个长度为15的char数组。你的第一个维度1没有太大影响。
所以,你可以把它变成
char card[2][3][15]={ {"iron","man", "contagious"},
{"iron","man", "contagious"}};
因此,为了您的简单理解,行数表示第一维,每行中的列数表示第二维,每列中的元素数(在本例中为字符)表示第三维。 / p>
所以,现在您可以看到问题中的数据,您应该将数组声明为char char[3][2][15]
答案 2 :(得分:0)
char card[1][3][15]={ { {"iron","man"},{"contagious","heide"},{"string","middle"}}
};
你应该在里面放置另一个括号括号。我认为这会对你有所帮助。