数组指针:cannot convert int[2][3] to int (*)[2] in assignment,该如何解决
数组指针:cannot convert int[2][3] to int (*)[2] in assignment代码如下C/C++ codeint i[2][3]{10,20,3
数组指针:cannot convert int[2][3] to int (*)[2] in assignment
代码如下
C/C++ codeint i[2][3]={10,20,30,8,9,10}; int (*p)[2];p=i;printf("*(*p+1)+2 =%d ",*(*p+1)+2);
这个提示:第三行代码: p= i 提示: cannot convert int[2][3] to int(*)[2] in assignment
请问这个是什么回事啊?
搞了几个小时了还没搞懂, 希望有知道的朋友帮忙解释一下上面这几个代码,谢谢
[解决办法]http://topic.csdn.net/u/20091123/11/0c03d2e2-0655-4634-8287-0e2315d889fc.html?64954
int (*p)[3];
[解决办法]*(*p + 1)=*(*(p+0)+1)=a[0][1]这么理解吧
[解决办法]p在这里其实是个二级指针,p指向数组首地址,*p指向第一行的首地址 (*p + 1)就是第一行的指针后移一位,
*(*p + 1)就是取后移后这个地方的值,也就是20,最后再加上2,即22