作业帮 > 综合 > 作业

int a[3][4] ,(*p)[4] p=a; 为什么*(*(p+i)+j) (*(p+i))[j] p[i][j]

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/03 22:50:13
int a[3][4] ,(*p)[4] p=a; 为什么*(*(p+i)+j) (*(p+i))[j] p[i][j]可以引用a[i][j]
P 是 数组a的首地址吗? 那是什么.求上面三个式子的 详解.
其实在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]
你的理解是正确的.