
int a[3][4] ,(*p)[4] p=a; 为什么*(*(p+i)+j) (*(p+i))[j] p[i][j]可以引用a[i][j]
2个回答
展开全部
其实在c 中 p[i] 等价于 *(p+i),数组表示法只是一种简写.
p[i][j]等价于 (*(p+i))[j]==*(*(p+i)+j)
你也可以反着写:
p[n]==n[p] 因为 *(p+n)==*(n+p)
你执行了p=a;
因此p的值等于a的值.所以p[i][j]==a[i][j]
你的理解是正确的.
p[i][j]等价于 (*(p+i))[j]==*(*(p+i)+j)
你也可以反着写:
p[n]==n[p] 因为 *(p+n)==*(n+p)
你执行了p=a;
因此p的值等于a的值.所以p[i][j]==a[i][j]
你的理解是正确的.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询