自己对数组指针和二维数组的一些见解
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[2][3] = {
1,2,3,
4,5,6 };//这是一个2*3的二维数组
int(*p)[3];//数组指针
p = a;//令p指向数组a
printf("a[0] = %p\n", a[0]); //第一行首地址
printf("a[1] = %p\n", a[1]); //第二行首地址
printf("a[0]+1 = %p\n", a[0]+1); // a[0]+1代表第一行第二列的地址,2的地址
printf("a = %p\n", a); // 数组首地址
printf("(a + 1) = %p\n", (a + 1)); // 第二行首地址
printf("*(a + 1) = %p\n", *(a + 1)); // *(a + 1)等价于a[1]+0等价于第二行第一列地址
printf