首页 > 试题广场 > 假设数原型和变量说明如下: void f4(int **p
[单选题]
假设数原型和变量说明如下:
void f4(int **p);
int a[4]={1,2,3,4};
int b[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int *q[3]={b[0],b[1],b[2]};

下面哪个调用是合法的?
  • f4(a);
  • f4(b);
  • f4(q);
  • f4(&a);
推荐
C
根据题干void f4(int **p); f4的参数为指向指针的指针,即p为一个指针的地址指向指针的指针是一种多级间接寻址的形式。
  • 选项A f4(a),参数为一维数组名,即首元素的地址&a[0]。
  • 选项B f4(b),参数为二维数组名,及首元素的地址
  • 选项C f4(q),参数q为一个指针数组,元素为int类型的指针,数组名为首元素b[0]的地址。
  • 选项D f4(&a),参数转化为&a[0]。等同于选项A。
编辑于 2019-08-27 14:14:33 回复(1)