首页 > 试题广场 >

在c语言程序中,当调用函数时,正确的是( )?

[单选题]

c语言程序中,当调用函数时,正确的是()

  • 全局变量开始占用存储单元
  • 形参不需要分配存储单元
  • 内部变量开始占用存储单元
  • 外部变量开始占用存储单元
D项  extern是外部变量,这个变量在程序外部定义,在调用函数前后是始终存在的。
A项  全局变量在函数调用前后始终是占用内存的。
B项   形参本来是不占用存储单元的   但是 只有当函数调用时,发生实参向形参的数据传递时,系统才分配给形参存储单元,调用完之后就释放。

发表于 2018-07-02 09:41:43 回复(0)
答案:C
A选项:全局变量始终占用存储单元;
B选项:当发生函数调用时,系统需要对形参分配存储单元;当没有发生调用时,则不需要分配;
C选项:可以将内部变量等同于函数形参,当函数发生调用时,系统对内部变量分配空间;
D选项:外部变量在程序外部定义,与函数是否调用无关,始终占用内存单元。
发表于 2020-04-16 12:14:32 回复(2)
调用函数时,是程序的运行阶段,调用函数时会生成活动记录表,此时局部变量开始入栈,也就是开始分配空间。
发表于 2018-03-01 22:39:30 回复(0)
全局变量在函数没有调用时就占了,而
局部变量在函数作为栈帧入栈的时候才开始有内存地址,函数调用完毕,弹出栈帧,地址释放。
发表于 2018-02-28 14:18:15 回复(0)
C
发表于 2022-03-03 15:44:05 回复(0)
内部变量要么占用堆区要么占用栈区吧,都在数据段里。
全局和静态变量一开始未初始化是放在bss区,等程序开始再清零。
形参的话要拷贝到临时的内存吧,然后调用完再自动销毁。

望大佬指正。
发表于 2017-11-12 11:20:30 回复(0)
看不懂这题啥意思。。
发表于 2020-02-29 15:41:40 回复(0)
全局变量在函数编译运行时就占用内存
形参类比局部变量,函数调用时,分配空间,调用结束或者未调用,则不分配空间
外部变量,不管是不是全局变量,只要不是此函数的局部变量,那空间的分配就和这个函数的调用无关
发表于 2021-12-15 17:11:53 回复(0)
D项  extern是外部变量,这个变量在程序外部定义,在调用函数前后是始终存在的。
A项  全局变量在函数调用前后始终是占用内存的。
B项   形参本来是不占用存储单元的   但是 只有当函数调用时,发生实参向形参的数据传递时,系统才分配给形参存储单元,调用完之后就释放。
发表于 2021-09-25 08:58:02 回复(0)
us
发表于 2021-06-02 22:47:09 回复(0)
AD 有什么分别
发表于 2017-09-05 16:29:13 回复(2)
调用函数时为局部变量分配地址
发表于 2017-08-22 21:43:14 回复(0)