关于指针与二维数组之间的那些事
int a[2][3]={{1,2,3},{4,5,6}}
(*p)[3]=a;
若引用数组第二行第二列元素的值,则下列不正确的表达式为
A:*(*(a+1)+1)
B:*(*(p+1)+1)
C:*(*(++a)+1) //错误
D:*(*(++p)+1)
解析:因为数组名a是一个常量,而p是一个变量,a可以a+1,但不能++a,但p可以
拓展:类型符说明 (*指针变量名)[长度]
int (*p)[4] *p有4个元素,每个元素都为整型
p所指的对象是有四个整型元素的数组
*(p+2)+3=a[2]+3=&a[2][3];
*(*(p+2)+3)=*(a[2]+3)=a[2][3];
小白自行理解,如有错误,请大佬指出,谢谢