数组与指针

     首先: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]的地址 

你可能感兴趣的:(数组与指针)