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的首地址吗? 那是什么.求上面三个式子的 详解.
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]
你的理解是正确的.
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]
你的理解是正确的.
int a[3][4] ,(*p)[4] p=a; 为什么*(*(p+i)+j) (*(p+i))[j] p[i][j]
*(p[i]+j) *(*p+i)+j) (*(p+i))[j] *(&p[0][0]+2*i+j) *(p[0]+2*
main(){int i=5,p=(i++)+(i++)+(i++);q=(++j)+(++j)+(++j);print
若有说明:int i,j=7,*p=&i;,则与i=j; 等价的语句是( ).A.i= *p;B.*p=*&j; C.i
int i,j=2;*p=&i;*p=(*&j+1)^j; i=?
if(**(p+i)>**(p+j))
若有定义 int a[3][4],*p; 则对数组元素a[i][j](0
几个写法不懂*(str+i++)=*p str[j++]=*(p+i) 两者什么区别?
(i!=p) 求解释main(){ int i,j,p,q,s,a[10]; printf("\n input 10 n
若有说明:int i,j=5,*p=&i;则与i=j等价的语句是()
matlab求和 I=∑∑(i-j)*(i-j)*p(i,j)
为什么一维数组a[i]指针p,可以有p=a;但是当二维数组a[i][j]时却不可以p=a