c语言三维数组问题
c语言三维数组是什么概念?我是自学的,一维二维都明白,到三维了就不知道怎么回事了a[2][3][2]是怎么解释的?另外有讲c语言的多维数组这方面比较细的资料或书吗?回答的...
c语言三维数组是什么概念?我是自学的,一维二维都明白,到三维了就不知道怎么回事了
a[2][3][2]是怎么解释的?
另外有讲c语言的多维数组这方面比较细的资料或书吗?回答的好追加!谢谢!
另外三维和多维数组,都在哪方面能用到?比如一般的软件开发或是嵌入式等应用或是其他课程在什么情况下需要用到三维和多维? 展开
a[2][3][2]是怎么解释的?
另外有讲c语言的多维数组这方面比较细的资料或书吗?回答的好追加!谢谢!
另外三维和多维数组,都在哪方面能用到?比如一般的软件开发或是嵌入式等应用或是其他课程在什么情况下需要用到三维和多维? 展开
5个回答
展开全部
三维是一个立方体,你把a [x] [y] [z]中的x,y,z理解成三维空间坐标,这样总能理解了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一位数组 你可以看成是 单个元素组成的数组
那 二维数组 你可以看成是 一维数组 组成的数组
三位数组 自然就是 二维数组组成的数组
完毕
那 二维数组 你可以看成是 一维数组 组成的数组
三位数组 自然就是 二维数组组成的数组
完毕
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在c语言,数组存储空间是连续的,所以三维数组其实可以看成特殊的一维数组,p[3][4][5]可以看成p[3*4*5]的一维数组,因此p[1][7][1]
=
p[1*4×5+7*5+1]
=
p[56]
56<3*4*5=60
,所以p[1][7][1]没有超出范围
=
p[1*4×5+7*5+1]
=
p[56]
56<3*4*5=60
,所以p[1][7][1]没有超出范围
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
测试通过,你去试试吧!
#include <stdio.h>
#include <string.h>
int data[10][5][3] = {
,
,
,
,
,
,
,
,
,
,
};
void display(int num)
{
int d[4][5][3];
int i,j,k;
for (i = 3; i>=0; --i)
{
memcpy(d[i], data[num%10], sizeof(int)*15);
num /= 10;
}
for (i = 0; i<5; i++)
{
for (j= 0; j<4; j++)
{
for (k=0; k<3; k++)
{
char star = (d[j][i][k] == 0) ? ' ' : '*';
printf("%c", star);
}
printf(" ");
}
printf("\n");
}
}
int main(int argc, char* argv[])
{
int year;
scanf("%d", &year);
display(year);
return 0;
}
#include <stdio.h>
#include <string.h>
int data[10][5][3] = {
,
,
,
,
,
,
,
,
,
,
};
void display(int num)
{
int d[4][5][3];
int i,j,k;
for (i = 3; i>=0; --i)
{
memcpy(d[i], data[num%10], sizeof(int)*15);
num /= 10;
}
for (i = 0; i<5; i++)
{
for (j= 0; j<4; j++)
{
for (k=0; k<3; k++)
{
char star = (d[j][i][k] == 0) ? ' ' : '*';
printf("%c", star);
}
printf(" ");
}
printf("\n");
}
}
int main(int argc, char* argv[])
{
int year;
scanf("%d", &year);
display(year);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询