一、二维数组的表示
注:二维数组有行优先的原则
int main()
{
int arr[4];//一维数组
int brr[3][4];//二维数组
int crr[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};//表示3行4列(在定义时,[m][n]中m、n表示长度)
int drr[3][4] = {1,2,3,4,5,6,7,8,9,10};//4个4个为二维数组中的一行,其余用0表示
int err[][4] = {1,2,3,4,5,6,7,8,9,10};
int brr[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
brr[2][2] = 100;//(使用时,[m][n]中m、n表示下标)
}
二、输出brr数组中的内容
//主要代码如下:
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
printf("%d ",brr[i][j]);
}
printf("\n");
}
三、将brr矩阵逆置到crr中
//主要代码如下:
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
crr[j][i] = brr[i][j];
}
}
printf("---------------\n");
for(int i=0;i<4;i++)
{
for(int j=0;j<3;j++)
{
printf("%d ",crr[i][j]);
}
printf("\n");
}
return 0;
}
四、一维、二维数组中的数据类型
一维数组 int arr[4] | 数据类型 |
---|---|
arr | int*x 表示指针 |
arr+1 | int*x (指针+1,即表示+一个单元格 |
arr[0] | int x 表示整型 |
arr[0]+1 | int x |
二维数组 int brr[3][4] | 数据类型 |
---|---|
brr | int(*x)[4] 表示指向数组的指针 |
brr+1 | int(*x)[4] |
brr[0] | int*x (等同于arr) |
brr[0]+1 | int*x |
brr[0][0] | int x |
brr[0][0]+1 | int x |
注:int(x)[4] : 指向数组的指针,即数组指针
intx[4] : 保存指针的数组,即指针数组