谁能给我解释解释,我有点懵了。
#include<iostream>using namespace std;
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,0};
int b[3][4];
int (*p)[10];
p=&a;
int (*q)[4];
q=b;
for(int i=0;i<10;i++)
cout<<*(p+i)<<endl;
cout<<sizeof(p+1)<<endl;
for(int j=0;j<4;j++)
cout<<*(q+j)<<endl;
cout<<sizeof(q)<<endl;
}
我想问一下,为什么*(p+1)和*(p+2)相差28,而*(q+1)和*(q+2)却是相差10.
谁能给个详细点的解释,我对指针跟数组的关系不是很清楚。