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

形参在函数被调用前不占内存

  • 内存
  • 2024-07-15 10:27:57
  • 7369

一、形参和实参有什么区别吗?

实际参数可以是任何类型,例如例如常量、变量、表达式、函数等。形式参数只能是变量。形式参数的类型必须在定义的函数中指定。

形式参数(formalparameters):定义函数名和函数体时需要的参数。目的是接收调用函数时传递的参数。

当前参数(当前参数):传递给被调用函数的值。

通俗地说,形式参数就像物理计算公式中的符号,例如:例如Ω、A、V等,而实际参数是计算中的实际值。调用过程就是实现形参与实参的结合,通过调用将实参的值传递给形参,相当于将具体的值代入到计算公式中。

高级信息:

两者的区别:

区别1

形状参数只能是变量。形参的类型必须在定义的函数中指定。

当前参数可以是常量、变量、表达式、函数等

区别2

形式参数:没有唯一值

实参:无论大小类型如何,函数调用中的实参必须具有一定的值,以便将这些值传递给形参。因此,应提前使用赋值、输入等来获取实际参数的具体值。

区别3

形参变量在没有函数调用时不占用内存,只有在被调用时才占用内存。调用结束后,内存被释放。

打开存储保存数据


二、在C语言中,函数的形参和实参可以占同一个存储单元,也可以占不同的存储单元吧?默认参数只是真实副本的一份副本,不能共享同一个存储单元。

参数之间的传输分为数字传输和地址传输,如果是地址传输,则它们所包含的内存部分不同。

调用函数时,调用函数通过将实参的值传递给被调用函数的标准参数,实现从调用函数到被调用函数的数据传递。标准参数变量仅在调用内存单元时分配,调用结束后,分配的内存立即释放。

标准参数只是真实副本的副本,该副本不能共享相同的存储单元,也不占用相同的空间。

扩展信息:

函数调用过程

1供函数定义内部使用。当不发生函数调用时,常规参数不占用内存中的存储空间,而当发生函数调用时,常规参数(任何类型)将用空格或占位符填充。

2将实际参数值转换为标准参数。调用函数时,实际参数列在函数名称后面的括号中。执行函数调用时,实际参数将传递给标准参数。3.在函数执行过程中,由于标准参数已经有了值,因此可以利用它们来进行相关操作。

4通过return语句将函数值返回给调用函数。

5调用结束,标准参数释放。实际计量单位仍保留并维持其原始值(按值传递)。

参考来源:-形式参数

参考来源:-实际参数