二维数组的知识
二维数组: 1.同种数组类型的集合
2.连续的内存空间
3.由多个一维数组组成
定义方式:
存储类型 数据类型 数组名[常量表达式(行数)][常量表达式(列数)];
int a[3][2];
sizeof(数组名); 数组所占空间的大小
初始化:
1.完全初始化:
int a[3][3] = {1,2,3,4,5,6,7,8,9};
int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
2.部分初始化:
int a[3][3] = {1,2,3,4,5
int a[3][3] = {{1,2},{3,4},{5}};
3.自动计数功能:
int a[][3] = {1,2,3,4,5};
赋值:
int a[3][3];
a[1][0] = 20;
遍历二维数组:
int a[3][3] = {1,2,3,4,5,6,7,8,9};
int i, j;
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
printf("a[%d][%d]=%d\t", i, j, a[i][j]);
}
puts("");
}
3. int a[3][4] = { 10, 999, 20, 5,
1000, 20, 95, 3
555, 45, 66, 9
};
对二维数组的每一行, 从大到小
int i,j,h;
for(h = 0; h < 3; h++)//控制行
{
for(i = 0; i < 4 - 1; i++) //趟数
{
for(j = 0; j < 4 - 1 -i; j++) //两两比较
{
if(a[h][j] < a[h][j+1])
{
int temp;
temp = a[h][j];
a[h][j] = a[h][j+1];
a[h][j+1] = temp;
}
}
}
}