zoukankan      html  css  js  c++  java
  • 实参&形参

    实参VS形参

    1.实参 argument

    实际参数,在函数调用的时候,传递给函数的参数。实参-按值调用

    实际参数可以是变量、常量、表达式以及函数

    实际参数必须得有确定的值(赋值、输入等),在函数调用时,把这些值传递给形式参数

    2.形参 parameter

    形式参数,是在函数定义中的参数。是定义函数名和函数体使用的参数

    不是实际存在的参数,是虚拟变量

    形式参数接收实际参数的值,实参于形参的个数以及类型要保证相同

    3.实参和形参的重要性质

    • 形参在函数定义中,在整个函数体可以使用,离开函数后不能使用
    • 实参在主调函数中,进入被调查者函数后,实参变量也不能使用
    • 实参与形参的结合,本质上就是数据的传递,传递时单向的,只能是 实参(rightarrow)形参
    • 形参只有在被调用时,再进行内存的分配,调用结束后立即释放内存。形参和实参的内存不在一个区域

    最重要的性质

    当形参和实参不是指针类型

    • 在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置

    • 形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变

    如果函数的参数是指针类型变量

    • 在调用该函数的过程中,传给函数的是实参的地址,在函数体内部使用的也是实参的地址,即使用的就是实参本身。
    • 所以在函数体内部可以改变实参的值

    结论

    良好的编程习惯对代码的时间效率影响很大

    引用(指针)来传递复杂类型参数

    如果采用值传递的方式,形参到实参会产生一次复制操作,这样的复制是多余的,影响代码的效率

  • 相关阅读:
    [bzoj2333] [SCOI2011]棘手的操作 (可并堆)
    自定义控件1_切换按钮
    View Animation 视图动画全解
    从图库中选取图片设置给ImageView
    一张图认识安卓shape属性
    自定义Dialog(QQ头像选择弹出的对话框)
    Toolbar和menu使用
    LIB和DLL的区别与使用
    C++调用webservice
    夯实Java基础系列5:Java文件和Java包结构
  • 原文地址:https://www.cnblogs.com/GeekDanny/p/10207821.html
Copyright © 2011-2022 走看看