二维数组取数组上的元素


 答:二维数组可以看做二级指针**p

所以本题中可以看做**a,一级指针存放行指针,每个行指针又指向列元素的地址

A:通过下标直接获取到元素值

B:a[i]获取行下标,a[i]+j地址偏移到列上,*(a[i]+j)加上*号获取元素值

C:(a+i)数组首元素+i偏移量,*(a+i)取行指针,*(a+i)+j  行指针偏移到需要的列,然后取值

*(*(b+i)+j),*(b+i)是先取行指针,然后+j偏移到所要的列,然后*取值就得到i行j列的数据了。

D: a+i*4+j  数组首元素偏移后取*,只是取到了行指针,并没有取到元素值,可以改成 *(*a+i*4+j)

其他验证方式,当i=j=0时,第四个选项是*a,也就是a[0],该值表示的还是一个数组,包含4个元素的数组

相关