请C语言高手帮忙下 若有以下程序段,则不能正确引用数组元素a[1][2]的是为什么是 D

Int(*p)[3]Inta[][3]={1,2,3,4,5,6,7,8,9};p=a;Ap[1][2]B*(*(a+1)+2)C(*(p+1))[2]Dp[1]+2... Int (*p)[3]
Int a[][3]={1,2,3,4,5,6,7,8,9};p=a;
A p[1][2]
B *(*(a+1)+2)
C (*(p+1))[2]
D p[1]+2
展开
 我来答
jarry王
2011-06-08 · 超过15用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:21.1万
展开全部
因为D的表达本身就是错误滴哈。。没这种表示方法呢。。特别是在有关二维数组指针时一定要多注意定义滴是行指针还是列指针哟。。而你这个题目滴定义是定义为*p是行指针,因此在用行指针表示二维数组元素时的形式有:p[ i ][ j ](如同A选项),*(*(p + i)+ j) (注意:最里面的 “ * ” 号是把行指针转换为列指针),(*(p + i))[ j ] (同C选项)。。希望你能弄懂哈。。如果不了解的话,请再多看看指针表示二维数组滴相关知识哈。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式