#include<stdio.h>
int main()
{
int a[10] = {};//a是数组首元素的地址
int *p = a;//步长为4
int(*q)[10] = &a;//步长为4*10
int num[4][10] = {};//num 也是数组首元素的地址
int index = 1;
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 10; j++)
{
num[i][j] = index++;
}
}
//测试二维数组步长
printf("num:%d,num+1=%d\n", num, num+1);
//结论二维指针的数组名是一个数组指针,步长为一维数组,跳整个一维数组
//
printf("a:%d,a+1=%d\n", &a, &a + 1);
printf("q:%d,q+1=%d\n", q, q + 1);
q = num;
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 10; j++)
{
printf("%d\t", q[i][j]);
}
printf("\n");
}
return 0;
}