C多维数组

inta[k][3][3]={{0,2,0,2,2,2},{2,0,0,2,2,2},{2,0,0,2,0,0,2,2},{2,2,2,0,0,2},{{2},{2},{... int a[k][3][3]={ {0,2,0,2,2,2}, {2,0,0,2,2,2}, {2,0,0,2,0,0,2,2}, {2,2,2,0,0,2},
{ {2}, {2}, {2} } };
这个三维数组是什么意思?
如int a[2][3][4];是声明2个3行4列的数组吧,可上面的怎么理解?
展开
 我来答
百度网友38c8e98
推荐于2016-08-12 · TA获得超过2657个赞
知道小有建树答主
回答量:1131
采纳率:0%
帮助的人:582万
展开全部
数组可以用一个列值来初始化,例如
int v1[] ={1,2,3,4};
char v2[]={'a','b','c',0};
当数组定义时没有指定大小,当初始化采用列表初始化了,那么数组的大小由初始化时列表元素个数决定。所以v1和v2分别为 int[4] 和char[4]类型。如果明确指定了数组大小,当在初始化时指定的元素个数超过这个大小就会产生错误。例如:
char v[2] ={'a','b',0}; //错误:太多的初始化值了
char v[3] ={'a','b',0}; //正确

如果初始化时指定的的元素个数比数组大小少,剩下的元素都回被初始化为 0。例如
int v[8]={1,2,3,4};
等价于
int v[8]={1,2,3,4,0,0,0,0};

int a[][3][3]={ {0,2,0,2,2,2}, {2,0,0,2,2,2}, {2,0,0,2,0,0,2,2}, {2,2,2,0,0,2},
{ {2}, {2}, {2} } };
你要按 {}对 来看:
里面有5个{}对,所以如果k的值为5可以省略k
{0,2,0,2,2,2}, a[0] 根据前面将的,给前6个元素赋初值,其他为0
{2,0,0,2,2,2}, a[1]
{2,0,0,2,0,0,2,2}, a[2]
{2,2,2,0,0,2}, a[3]
{ {2}, {2}, {2} } a[4] 给a[4][0][0] a[4][1][0] a[4][2][0]初始化为2
匿名用户
2011-01-28
展开全部
{0,2,0,2,2,2}, 表示数组 a[0][3][3]的初始化数据
{2,0,0,2,2,2}, 表示数组 a[1][3][4]的初始化数据
。。。
以此类推。
{ {2}, {2}, {2} } 表示数组 a[4][3][4]的初始化数据。其中3个{2}分别表示数组 a[4][0][3],a[4][1][3],a[4][2][3]的初始化数据。
这些都是不完全初始化。
想要理解,最直接的办法是写一段小程序,在程序中定义这个数组。然后在调试的过程中看内存里面的值,这样就很直观了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式