首页 > 其他分享 >形参和实参

形参和实参

时间:2024-07-31 11:59:49浏览次数:9  
标签:形参 int 数据类型 函数调用 引用 实参

形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。

实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值。

举例:

比如你定义一个函数public static int add(int a,int b),这里的a和b就是形参
当你进行函数调用的时候,add(1,2),这里的1和2就是实参。

引用传递

  • 存储在栈上:基本数据类型如 int, double, char 等直接存储在栈(Stack)上。
  • 复制值:当基本数据类型作为参数传递给方法时,实际上是传递了它们的值的副本。
  • 修改限制:方法内部对参数的修改不会影响原始变量,因为方法中修改的是原始值的副本。

值传递

  • 存储在堆上:引用数据类型如类(Class)、接口(Interface)、数组(Array)等存储在堆(Heap)上。
  • 复制引用:当引用数据类型作为参数传递给方法时,传递的是指向堆上对象的引用的副本。
  • 修改影响:方法内部可以通过引用修改原始对象的状态,因为引用指向的是同一个对象。

标签:形参,int,数据类型,函数调用,引用,实参
From: https://www.cnblogs.com/luoyiwen123/p/18334326

相关文章

  • 方法的形参和实参
    方法的形参和实参在编程中,特别是面向对象的编程语言(如Java、C#、Python等)中,方法(或函数)的形参(形式参数)和实参(实际参数)是两个重要的概念,它们之间有着明确的区别和联系。形参(形式参数)形参是方法定义时声明的参数,它们用于接收调用该方法时传入的数据。形参在方法内部被使用,以执行相......
  • 方法的实参和形参
    值传递"值传递"(PassbyValue)是指在调用方法时,将参数的值复制并传递给方法中的形参。这意味着方法接收的是原始数据的一个副本,而不是原始数据本身。以下是值传递的一些关键特点:数据复制:当调用方法时,参数的值被复制到新内存区域(方法的栈空间)的形参中。独立性:方法内的形参和......
  • 避免函数形参为空指针
    展示一个函数形参为空指针的隐患:执行第32行代码时,相当于执行double*pdPoint=pdTemp;,由于pdTemp=NULL,所以pdPoint=NULL。在然后 voidPointer(double*pdPoint,intiDim)函数中对pdPoint赋了一块动态内存,此时 pdPoint!=NULL,但是 pdPoint和pdTemp只是赋值......
  • 函数(实参以及形参)
    实际参数(实参)    实际参数就是在调用函数时传递给函数的具体值。这些值可以是常量、变量、表达式或更复杂的数据结构。实参的值在函数被调用时传递给对应的形参,然后函数内部就可以使用这些值来执行相应的操作。intmain(){ inta=0; intb=0; scanf("%d%d",......
  • 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数, 在
    /编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。只要结果,别输出什么提示信息。/#include<stdio.h>#include<string.h>#include<ctype.h>intfun(char*buff){intsum=0;while(*buff......
  • 【Effective Python教程】(90个有效方法)笔记——第3章:函数——23:用关键字参数来传参(位
    文章目录第3章:函数第23条用关键字参数来传参位置传递参数关键字传递参数位置和关键字传递参数混合使用另外,关键字形式与位置形式也可以混用。下面这四种写法的效果相同:==如果混用,那么位置参数必须出现在关键字参数之前,否则就会出错。==每个参数只能指定一次,不能既通过位......
  • 形参包及展开
    最近在写IOU的时候想模仿上交的写法用形参包写一个可以接受不限参数的max或者min,但是真写起来坑太多了形参包是c++11引入的语法,当使用形参包作为函数的形参时,可以传入不限个数以及类型的(0-....)参数。实质上形参包展开后就是使用逗号隔开的多个形参。template<classT,clas......
  • python 函数 形参前带*或者两个星** 收集元组或者字典,实参前带星*或者两个星** 解开序
    函数的形参前面带一个星*,代表着不定长参数,实际上是收集了不定长的实参,作为一个元组。形参前面带两个星**,代表可以接收不定长参数,并且调用该函数时实参要指定参数名,实际上是收集了一个不定键个数的字典。实参前带一个星*,表示解开当前的序列,再做为参数传递。实参前带两个星**,表示......
  • Java 形参 实参 参数传递
    Java形参实参在Java中,形参和实参是两个重要的概念,它们分别指形式参数和实际参数。形参:形式参数是在方法定义时用于接收调用该方法时传递的参数。它只在方法内部有效,方法结束后就消失了。实参:实际参数是在调用方法时传递给方法的参数,它可以是常量、变量、表达式、或者方法的......
  • 默认实参
    一、指定默认参数在函数的声明或者初始化的时候,调用函数的时候不需要提供全部的参数。//带默认参数的函数intfun(inta,intb=10,intc=20);a是普通参数,b和c是带有默认参数的参数。二、调用方法fun(5);//a=5b=10c=20fun(5,100);//a=5b=100......