#include <stdio.h>
// int main()
// {
// int a = 10;
// int* pa = &a;
// char ch = 'w';
// char* pch = &ch;
// double* d[5];
// double* (*pd)[5] = &d; //pd 是一个数组值
// int arr[10] = {1,2,3,4,5};
// int (*parr)[10] = &arr;//取出的是数组地址
// //parr 就是是个数组指针,其中存放的是数组地址
// return 0;
// }
// int main()
// {
// int arr[10] = {0};
// printf("%p\n", arr);
// printf("%p\n", &arr);
// return 0;
// }
//数组名是数组是首元素地址
//下面两个例外:
//1. sizeof中 数组名计算整个数组
//2. &数组名 表示整个数组
// int main()//不好用
// {
// int arr[10] = {0};
// int (*pa)[10] = &arr;//数指针
// int i = 0;
// for (i = 0; i < 10; i++)
// {
// printf("%d ", *((*pa)+i));
// }
// return 0;
// }
void print2(int (*p)[5], int r, int c)
{
int i = 0;
int j = 0;
for ( i = 0; i < 3; i++)
{
for (j = 0; j < 5; j++)
{
printf("%d ", *(*(p+i)+j));
}
printf("\n");
}
}
int main()
{
int arr[3][5] =
{
{1,2,3,4,5},
{6,7,8,9,10},
{10,2,4,5,6}
}
print2(arr, 3, 5);
return 0;
}