为什么这样显示我错误必须是可修改的左值
int (*p)[2]; 说明了p是数组指针变量,即p是指向列数为2的数组的指针,&p[i] ,这个是一个地址,也是一个常量,常量是不能做左值。
第一张图:&p[i]去掉&后p[i] = *(p+i)是列指针,&a[i]是行指针,两个都不是一个数量级的,无法赋值第二张图:定义为int *p[2];这是一个指针数组,数组存放的是指针,因为a是一个2维数组,所以a[i]其实就是一个地址,是数组第i行的首地址,所以用指针数组来存放地址是合情合理的