设有某函数的说明为: int *func(int a[10],int n); 则下列叙述中,正确的是( )。

admin2018-01-14  37

问题 设有某函数的说明为:
   int *func(int a[10],int n);
   则下列叙述中,正确的是(    )。

选项 A、形参a对应的实参只能是数组名
B、说明中的a[10]写成a[]或*a,效果完全一样
C、func的函数体中不能对a进行移动指针(如a++)的操作
D、只有指向10个整数内存单元的指针,才能作为实参传给a

答案B

解析 考查数组名作为函数参数。数组名作为函数参数时,只传递数组的首地址而不检查形参数组的长度,所以形参表中可以不给出形参数组的长度,形参数组和实参数组长度也可以不同,选项D错;a[10]、a[]、*a做形参都是接受实参数组首地址,效果一样,B正确。传递给形参的实参可以是数组名,还可以是指向该数组的指针变量,选项A错。数组名可以看做一个指针常量,对其进行自加自减运算相当于指针变量的自加自减,选项C错。答案选B。
转载请注明原文地址:https://jikaoti.com/ti/xKa0FFFM
0

最新回复(0)