二维数组的声明方式:
int brr[3][4];
int crr[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int drr[3][4] = {1,2,3,4,5,6,7,8,9,10};//*****
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;
int *p = brr[0];
二维数组的循环:brr[3][4]
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
printf("%d ",brr[i][j]);
}
printf("\n");
}
二位数组的逆置:
int crr[4][3];
//将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");
}
二维数组的数据类型:
int *p[4]: 指针数组。存放数组的指针。
int (*p)[4]: 数组指针。指向数组的指针。
int *f(): 指针函数。返回值为指针的函数。
int (*f)():函数指针。指向函数的指针。