以下关于C语言的函数参数叙述中,说法正确的是(28)。

admin2010-01-23  53

问题 以下关于C语言的函数参数叙述中,说法正确的是(28)。

选项 A、只有在发生函数调用时,函数中的形参才被分配内存单元
B、如果形参是数组名,则传递的是每个数组元素的值
C、形参变量所占用的内存单元位于堆中
D、实参对形参的数据传递是单向的“值传递”,因此,在被调用的函数之中,无法去修改主调函数中任何变量的值

答案A

解析 定义函数时函数名后括号中的变量名称为形式参数。调用函数时函数名后括号中的表达式称为实际参数。形参在未出现函数调用时,并不占内存中的存储单元。只有在发生函数调用时,函数中的形参才被分配内存单元。在调用结束后,形参所占的内存单元也被释放。因此选项A说法正确。通常认为数组名是一个地址常量,当数组名作为形参时,则传递的是数组的起始地址,而不是每个数组元素的值。由此可见选项B说法错误。操作系统内存的栈空间用于保存运行的上下文、函数调用时的局部变量和形参。因此选项C说法错误。C语言规定,实参对形参的数据传递是“值传递”,即单向传递(实参的值可以传给形参,形参的值不能传给实参)。在内存中,实参单元与形参单元是不同的单元。在被调用的函数当中,函数返回值将影响主调函数中相关变量的值。由此可见,选项D说法错误。
转载请注明原文地址:https://kaotiyun.com/show/UqxZ777K
0

相关试题推荐
最新回复(0)