大家看看这个int(*p)[3]的问题,我想好久想不明白
部分代码如下:
int b[3]={1,2,3};
int (*p)[3];
p=&b[0];
for(int i=0;i<3;i++)
printf("%5d",*(*p+i));
return 0;
为什么编译时出错?错误是 error C2440: '=' : cannot convert from 'int *' to 'int (*)[3]' ;![大家看看这个int(*p)[3]的有关问题,小弟我想好久想不明白](http://img.reader8.net/uploadfile/jiaocheng/20140133/2750/2014012700500243155.gif)
int(*p)[3]的意思不是定义一个含有3个整形元素的指针么,那p不是指针吗 ?p=&b[0] 有什么错 ,搞不懂、
[解决办法]
int b[3]={1,2,3};
int (*p)[3];
p=&b;
for(int i=0;i<3;i++)
printf("%5d",*(*p+i));
return 0;