C语言程序设计

函数在定义时,形参不占内存单元

题目

函数在定义时,形参不占内存单元

参考答案和解析
正确答案:正确
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

已定义以下函数:fun(int *p){ return &p; }该函数的返回值是( )。A.不确定的值B.形参p中存放的值C.形参p所指存储单元中的值D.形参p的地址值


正确答案:D
&p是p自己的地址值,p所代表的存储单元里的值为p所指的存储单元的地址。

第2题:

在C语言中,函数调用时( )。

A.实参和形参各占独立的存储单元

B.实参和形参共用存储单元

C.由系统自动确定实参和形参是否共用存储单元

D.由用户指定实参和形参是否共用存储单元


正确答案:A
解析: 本题考查函数调用时的参数传递。函数的形参是函数定义时由用户定义的形式上的变量,实参是函数调用时,主调函数为被调函数提供的原始数据。
在函数调用时,实参和其所对应的形参分别占用不同的存储单元,彼此之间不影响。

第3题:

若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是

A ) 函数的实参和其对应的形参共占同一存储单元

B ) 形参只是形式上的存在,不占用具体存储单元

C ) 同名的实参和形参占同一存储单元

D ) 函数的形参和实参分别占用不同的存储单元


正确答案:D

第4题:

如果函数没有形参,则函数定义时形参列表可以省略,即函数定义"int fun {...}"是正确的。()

此题为判断题(对,错)。


正确答案:错误

第5题:

● 关于C 语言的函数参数,下列叙述中正确的是 (60) 。

A. 只有在发生函数调用时,函数中的形参才被分配内存单元

B. 实参对形参的数据传递是单向的 “值传递”,因此,在被调用的函数当中, 没有办法去修改主调函数中任何变量的值

C. 形参变量所占用的内存单元位于堆中

D. 如果形参是数组名,则传递的是每个数组元素的值


正确答案:A

第6题:

下面不正确的描述为( )。

A.调用函数时,实参可以是表达式

B.调用函数时,实参与形参可以共用内存单元

C.调用函数时,将为形参分配内存单元

D.调用函数时,实参与形参的类型必须一致


正确答案:B
解析: 函数调用时用实参替换形参,如果实参为表达式,将为表达式的值创建一个临时对象,然后将该实参替换形参。替换的实质是变量间的拷贝当然这种拷贝需要为形参分配内存。需要注意的是:形参在编译时不分配内存,在运行时才分配内存。

第7题:

下列说法不正确的是( )。

A.调用函数时,实参可以是表达式

B.调用函数时,实参与形参可以共用内存单元

C.调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等

D.调用函数时,实参与形参的类型必须一致


正确答案:B

第8题:

关于形式参数,下面说法错误的是()。

A、对于形参,虽然定义了它,只有当函数被调用时,形参才在内存中开辟空间

B、调用结束后,形参自动从内存中被释放掉

C、在函数定义中,可以不给出形参类型,调用的时候再定义。

D、实参与形参的关系是赋值与被赋值的关系


参考答案:C

第9题:

关于C语言的函数参数,下列叙述中正确的是_________。

A只有在发生函数调用时,函数中的形参才被分配内存单元

B实参对形参的数据传递是单向的“值传递”,因为在被调用的函数中,没有办法去修改主调函数中任何变量的值

C形参变量所占用的内存单元位于堆中

D如果形参是数组名,则传递的是每个数组元素的值


参考答案:A

第10题:

若定义了以下函数: void f(……) { …… *p=(double *)malloc(10 * sizeof(double)); …… } p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是( )

A.double *p

B.float **p

C.double **p

D.float *p


正确答案:C

更多相关问题