定义二维数组:
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;
二维数组的循环:
二维数组的循环用的是for循环的嵌套,利用两个for循环进行嵌套从而输入或输出一个二位数组
例如:
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&arr[i][j]);
}
}
//这是输入一个数组
//数组的输入遵循先行后列的法则
例如:
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf("%d\n",srr[i][j]);
}
}
//这是数组的输出
//同时数组的输出也遵循先行后列
逆置输出:
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)():函数指针。指向函数的指针。