若有定义int a[2][2]={1,2,3,4},*p[3];p[0]=a[1];则*(p[0]+1)表示的数组元素是

A.a[0][0] B.a[0][1] C.a[1][1] D.a[1][0]选C 为什么
2024-11-22 16:05:25
推荐回答(3个)
回答1:

p[0] = a[1] 是将a[1]数组的地址赋值给了p[0]
为了更好的理解,我们定义一个int *q;
q = p[0];
这样 *(p[0] + 1)就等价于 *(q +1)了,由于q是int型的指针并指向的a[1]的第0个元素a[1][0], q+1就会指向a[1][0]的下一个元素了,也就是a[1][1].

回答2:

p[0]指向的是a[1][0]的地址,*(p[0]+1)自然指的是a[1][1]

回答3:

应该是B 吧。。