当前位置:首页 > 内存 > 正文

形参什么时候分配内存单元

  • 内存
  • 2024-06-11 14:43:20
  • 8707

一、帮我解解这个问题,在c程序中定义函数的形参时,系统要不要对形参分配内存空间,说说你的理由!执行此操作时,只会分配有效的有限内存。当函数执行时分配的内存被释放。为了参数的缘故......如果函数的参数是局部变量并且最初被分配。它们可以在其他地方访问和修改,并且数据是不确定的。
此外,该函数的形参实际上是:调用该函数之前;将实际参数压入堆栈,然后跳转到函数地址执行。当函数执行后反弹时。堆栈弹出并释放内存。


二、在C语言中,函数的形参和实参可以占同一个存储单元,也可以占不同的存储单元吧?

形式参数只是实际参数的副本,即副本不能使用相同的存储单元。

参数之间的传递分为数值传递和地址传递。如果是数字传输,则它们占用不同的内存块。如果是传递地址,则它们使用相同的内存单元。

当调用函数时,调用函数将实参的值传递给被调用函数的形参,从而实现从调用函数到被调用函数的数据传输。形参变量仅在调用时才分配一个内存单元。调用结束后,分配的内存单元立即被释放。

形参只是实参的一个副本,也就是说,该副本不能使用相同的存储单元或占用相同的空间。

扩展信息:

调用函数的过程

1.函数的形式参数在函数声明中列出。在函数定义中。供内部使用。当不发生函数调用时,形参不占用内存存储空间;当函数调用发生时,形式参数(任何类型)表示将填充的空间或填充的类型。

2.将实参的值传递给形参。调用函数时,实际参数在函数名后面的括号中指定。当进行函数调用时,实际参数将传递给形式参数。

3.在函数执行过程中,由于形参已经有了值,因此可以利用形参进行相关操作。

4.使用return语句将函数值返给调用函数。

5.调用完成,形参模块被释放。实际参数块仍然保留其原始值(按值传递)。

参考来源:百度百,形参。

参考来源:,实参。

参考来源:,实参。

上一篇:3根内存

下一篇:内存单元是什么意思