问题
单项选择题
若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。
A.p=a;
B.p[0]=a;
C.p[0]=&a[1][2];
D.p[1]=&a;
答案
参考答案:C
解析: 选项A中,p为数组名,其值是不能被改变的,故非法;选项B中,p[0]的类型是int*,而a是二维数组名(类型为int[][3]),两者无法赋值,故非法:选项C中,p[0]为int型指针,&a[1][2]是int型变量的地址,可以合法赋值;选项D中,p[1]是int型指针,而&a是二维数组的地址(类型为 int(*)[2][3]),两者无法赋值,故非法。所以本题应该选择C。