请各路高手帮帮我啊,这题太难了!!

来源:百度知道 编辑:UC知道 时间:2024/05/31 00:53:41
(9)设有以下定义:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*prt)[3]=a, * p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是
A)*((* prt + 1)[2]) B)*(*(p+5)) C)(* prt + 1)+2 D)*(*(a+1)+2)
计算过程尽量写详细点,要不然我看不懂的!
不是B!你D是怎么算的啊??

你写的这个东西我都看不懂...郁闷

B
a[4][3]为二维数组,相当于四个有三个成员的一维数组.
a[0]
a[1]
a[2]
a[3]

*prt=a[0]相当于prt=a;指向二维数组首地址。(p+5)就是指向第六个元素的地址,*(p+5)就是取该地址的值。而a[1][2]也是第六个元素>

D