作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/03/29 22:18:34
请C语言高手帮忙下 若有以下程序段,则不能正确引用数组元素a[1][2]的是为什么是 D
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
因为D的表达本身就是错误滴哈.没这种表示方法呢.特别是在有关二维数组指针时一定要多注意定义滴是行指针还是列指针哟.而你这个题目滴定义是定义为*p是行指针,因此在用行指针表示二维数组元素时的形式有:p[ i ][ j ](如同A选项),*(*(p + i)+ j) (注意:最里面的 “ * ” 号是把行指针转换为列指针),(*(p + i))[ j ] (同C选项).希望你能弄懂哈.如果不了解的话,请再多看看指针表示二维数组滴相关知识哈.