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

admin2020-03-15  42

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

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

答案B

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

最新回复(0)