问题
单项选择题
若有定义语句:int a[2][3], *p[3]; ,则以下语句中正确的是( )。
A) p=a; B) p[0]=a; C) p[0]=&a[1][2]; D) p[1]=&a;
答案
参考答案:C
解析: 本题考查的知识点是二维数组和指针数组。无论一个数组有多少维或者是否含指针类型,该数组最终都可以被看做一个比较特殊的一维数组。例如本题中的int a[2][3]可以看做元素为int[3](即包含3个int型元素的一维数组),包含2个这样元素的一维数组;而int *p[3]则可以看做元素为int*,包含3个这样元素的一维数组。选项A)中,p为数组名,其值是不能被改变的,故非法;选项B)中,p[0]的类型是int*,而a是二维数组名(类型为int[][3]),两者无法赋值,故非法;选项C)中,p[0]为int型指针,&a[1][2]为元素a[1][2]的地址,所以选项C)符合题意。