//数组名是数组首元素的地址
//但是有两个例外:
//1、sizeof(数组名) - 数组名表示整个数组,计算的是整个数组的大小,单位是字节。
//2、&数组 - 数组名表是整个数组,取出的是整个数组的地址
//int main()
//{
// int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
// int (*pa)[10] = &arr;
// int i = 0;
// for (i = 0; i < 10; i++)
// {
// printf("%d ", *((*pa) + i));
// }
// return 0;
//}
void print1(int arr[3][5], int r, int c)
{
int i = 0;
int j = 0;
for (i = 0; i < r; i++)
{
for (j = 0; j < c; j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
}
//p是一个数组指针
void print2(int(*p)[5], int r, int c)
{
int i = 0;
int j = 0;
for (i = 0; i < r; i++)
{
for (j = 0; j < c; j++)
{
printf("%d ", *(*(p + i) + j));
}
printf("\n");
}
}
int main()
{
int arr[3][5] = { {1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7} };
/*print1(arr,3,5);*/
print2(arr, 3, 5);//arr数组名表示首元素地址,二维数组的首元素是 第一行!
return 0;
}