二维数组:行列的乐园
目录
- 什么是二维数组?
- 如何定义二维数组?
- 二维数组和一维数组有什么不同?
- 如何使用二维数组?
- 举例说明二维数组在实际开发中的应用
什么是二维数组?
二维数组,也称为矩阵,是由行和列构成的数组,每个元素可用二维坐标(行,列)唯一确定,如下图所示:
a[0][0] a[0][1] a[0][2] a[0][3]
a[1][0] a[1][1] a[1][2] a[1][3]
a[2][0] a[2][1] a[2][2] a[2][3]
在实际应用中,二维数组用来存储表格、矩阵等结构化数据。
如何定义二维数组?
二维数组的定义形式为:数据类型 数组名[行数][列数]。例如:
int a[3][4];
这里定义了一个 3 行 4 列的二维数组 a。
二维数组和一维数组有什么不同?
一维数组是由一系列同类型的元素组成的线性结构,也称为向量,可用来表示坐标轴、一年中的月份等。而二维数组是由一系列同类型的元素组成的面状结构,由行和列组成,可用来表示平面结构数据,例如表格、矩阵等。
如何使用二维数组?
对二维数组的操作要用到两个下标,一个表示行数,一个表示列数,例如:
int a[3][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int row, col;
row = 2; //第3行
col = 1; //第2列
printf("a[%d][%d] = %d", row, col, a[row][col]); //输出第3行第2列的元素
输出结果为:a[2][1] = 10。
举例说明二维数组在实际开发中的应用
二维数组在实际开发中有广泛应用,例如存储表格数据、图形处理、游戏开发等。以下是一个实现九九乘法表的例子:
#include<stdio.h>
int main()
{
int i,j,k;
int a[9][9];
//生成九九乘法表
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
a[i][j]=(i+1)*(j+1);
}
}
//输出九九乘法表
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
printf("%d*%d=%d\t",i+1,j+1,a[i][j]);
}
printf("\n");
}
return 0;
}
输出结果为:
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
以上就是二维数组的基本概念、定义、使用方法及实际应用的举例详细说明。二维数组让程序更加灵活多变,对于处理表格和矩阵等结构化数据有非常大的帮助。