首先:i[a] 与 a[i] 的意思是一样的
其次:
int c[12][31];
int *ptr;
int value;
我们可以这样:value = c[3][7];
那么 我们也可以这样 value = *((c[3])+7)
当然 还可以: value = *(*(c +3)+ 7)
这里要说的 c[3]代表的是地址 因为c[12][31]中根本不存在c[3] 那么 c+3 也是地址为什么还要 解地址符号?
因为 c是c[0] +3 代表的是 C[3]的地址 所以这里要取* 虽然c[3]里面放的是地址
那么可不可以 ptr = c? 很明显不可以,为什么? 因为c的话 ,编译器会将其翻译成数组指针,而ptr是函数指针 所以类型不同不能=
可以这样 int (*ptr)[31] 这样 让ptr 去存 a[12] 的值 ptr 就是指向a[12]的地址