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

admin2015-07-28  31

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

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

答案A

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

最新回复(0)