2012-05-23 59 views
1

如何初始化c中没有指针的三维空间char并访问它?
我试过如下:如何在不使用指针的情况下初始化三维字符数组c

char card[1][3][15]={    
         {"iron","man"}, 
         {"contagious","heide"}, 
         {"string","middle"} 
        }; 

但我正在逐渐

**Error:too many initializers** 
    **Warning: Array is only partially initialized** 
+0

它以给予好评我需要至少在15点声望。这是说,我为什么不能upvote答案.. – Neha

回答

2

考虑您的例子本身:

我觉得应该是

char card[1][3][15]={ {"iron","man", "contagious"}}; 

这意味着什么,你可以有效地创建3个字符数组长度每15.你的第1尺寸不有很大的作用。

所以,你可以把它像

char card[2][3][15]={ {"iron","man", "contagious"}, 
         {"iron","man", "contagious"}}; 

因此,对于您简单的了解,行数表示第一维,列各行中的数字表示第二个维度和元素的数量(在这种情况下,字符)表示第三维。

所以,现在你可以看到,在你的问题中的数据,你应该声明数组作为char char[3][2][15]

+0

非常感谢这是我正在寻找的答案...我不能upvote较少声誉点的抱歉.. – Neha

+0

@Neha,最受欢迎。您也可以通过点击投票图标下方的接受图标来接受答案。 – Jay

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

我希望,这很清楚。

0
char card[1][3][15]={ { {"iron","man"},{"contagious","heide"},{"string","middle"}} 
        }; 

你应该把另一个括号括号内。我认为这对你会有所帮助。