精华内容
下载资源
问答
  • 形参影响实参

    千次阅读 2018-04-24 22:53:00
    b当参数类型是引用数据类型时,若修改形参指向的内容会影响实参,因为形参实参指向的是同一块区域c当参数类型时引用数据类型时,若先修改形参的指向后再修改形参指向的内容则不会影响实参的数值,因为此时二者指向...

    a当参数类型是基本数据类型时,形参的改变不会影响到实参;

    b当参数类型是引用数据类型时,若修改形参指向的内容会影响到实参,因为形参和实参指向的是同一块区域

    c当参数类型时引用数据类型时,若先修改形参的指向后再修改形参指向的内容则不会影响到实参的数值,因为此时二者指向的区域是不同的.

    例如

    public class Test01{

        public static void main(String[] args){

            int num = 10;

            Test01 te = new Test01();

            te.show(num);

            System.out.println("main函数中num的值:"+num);

            int[] arr = {1,2,3};

            te.test(arr);

            System.out.println("main函数中数组的第一个值是:"+arr[0]);//结果为1000

        }

        public void show(int num){

            num = 200;

            System.out.println("show方法中num的值:"+num);

        }

        public void test(int[] arr){

        //arr = new arr[4];若加上这一句,则main函数中的数组不再受到影响,因为test中的数组改变了指向

        arr[0]=1000;

        System.out.println("test方法中数组的第一个值是:"+arr[0]);//结果为1000

        }

    }

    展开全文
  • 自定义一个测试函数,通过对比形参实参的ID来研究修改形参实参影响。 def test(a) : print("a =",a,id(a)) c = 20 test(c) print("c =",c,id(c)) a = 20 140707504189792 c = 20 140707504189792 传参后a...

    自定义一个测试函数,通过对比形参和实参的ID来研究修改形参对实参的影响。

    def test(a) :
    	
    	print("a =",a,id(a))
    c = 20
    test(c)
    print("c =",c,id(c))
    
    a = 20 140707504189792
    c = 20 140707504189792
    

    传参后a和c的id相同,说明a和c指向同一对象。
    接下来对a进行重新赋值。

    def test(a) :
    	a = 10
    	print("a =",a,id(a))
    c = 20
    test(c)
    print("c =",c,id(c))
    
    a = 10 140707504189472
    c = 20 140707504189792
    

    a的值和id已经发生了改变,但是c没有发生变化,说明对a重新赋值过程中,系统新建了一个对象,a指向了新的对象,且对c没有产生影响。

    接下来测试传列表的情况。

    def test(a) :
    	
    	print("a =",a,id(a))
    c = [1,2,3]
    test(c)
    print("c =",c,id(c))
    
    a = [1, 2, 3] 3051365556744
    c = [1, 2, 3] 3051365556744
    

    a和c同样指向同一个对象,接下来通过形参a修改列表中的元素。

    def test(a) :
    	a[0] = 6
    	print("a =",a,id(a))
    c = [1,2,3]
    test(c)
    print("c =",c,id(c))
    
    a = [6, 2, 3] 2355399385608
    c = [6, 2, 3] 2355399385608
    

    a和c的id同时发生改变且指向同一对象,原因是修改列表中的元素是对对象进行操作,系统会新建一个对象,然后将新的ID赋给指向原对象的所有变量。所以,对对象进行操作会影响所有指向该对象的变量。可以使用以下两种方法使形参与实参相互独立:

    def test(a) :
    	a[0] = 6
    	print("a =",a,id(a))
    c = [1,2,3]
    #方法一:传副本过去
    test(c.copy())  
    #方法二:
    test(c[:])
    print("c =",c,id(c))
    
    a = [6, 2, 3] 2606175445576
    a = [6, 2, 3] 2606175445576
    c = [1, 2, 3] 2606175445512
    
    展开全文
  • 形参实参

    2019-08-02 03:43:25
    形参实参 形参实参可以不一样,类型,数量都可以不一样 ,JS根本就不关心 形参实参会绑定,动态关联 function foo(a,b,c){ //a,b,c 是形参 console.log(arguments); //arguments 是实参数组 argument[0] ...

    形参和实参

    • 形参和实参可以不一样,类型,数量都可以不一样 ,JS根本就不关心
    • 形参和实参会绑定,动态关联
    
    function foo(a,b,c){       //a,b,c 是形参
            console.log(arguments); //arguments 是实参数组
            argument[0] = -1;
            console.log(a); // a = -1 改变了
    
            argument[1] = 2;
            console.log(b);   //返回 undefined
        }
        
        foo(1);
    

    从上面代码中可以看出 a 改变了,而 b 没有改变,当我们给参数的时候 js 会自动绑定形参与实参即 a 和 1和 arguments[0] 自动绑定,已经绑定的参数可以进行修改,而没有绑定的想要添加时,就不能再次进行绑定了。

    形参写在括号里实现,实参通过 arguments 类数组实现。

    展开全文
  • C语言之形参实参

    2021-02-04 18:14:04
    形参实参 1.形参实参是什么 2.形参实参的区别 3.形参实参知识点 3.1实参的值不随形参的变化而...今天我们来说下c语言形参实参的区别,形参实参理解的话也很简单,但是好多同学关于这个知识点都是一知.

    目录

    形参与实参

    1.形参和实参是什么

    2.形参和实参的区别

    3.形参与实参知识点

    3.1实参的值不随形参的变化而变化

    ** 3.2.实参传递给形参的参数个数类型和顺序都应相同,否则会系统强制转换,出现数据丢失或者“类型不匹配”的错误

    3.3如果实参是数组名,那么形参传递的之就是地址的值


    形参与实参

    今天我们来说下c语言形参与实参的区别,形参跟实参理解的话也很简单,但是好多同学关于这个知识点都是一知半解,没有真正的去透彻,一问都知道,但在真正引用的时候还会出现很多问题,而百度的时候又会说看不懂,所以我们今天来做一个比较全面的介绍

    我们今天讲解以简单明了易看懂为基础

    1.形参和实参是什么


    简单来说,形式参数(形参)就是形式上的参数,没有确定值,
    而实际参数(实参)是实际存在的,已经确定的参数,常量,变量,表达式,都是实参,

    最简单的例子

     

    int a=2;  这里的A有了实际的值 为实参
    int change(int b,int c); **c和b就是形参**。 这里的c和b可以是任意一个值传递,为形参
    int main()
    {
        change(1,2); 这样就是把实参值传递给形参,1和2就是实参
     
    }

    这样我们能有一个简单的认识

    2.形参和实参的区别

                                          形参

                    实参
    形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量 实参定义后就会分配内存
    形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用 实参出现在主调函数中,进入被调函数后,实参变量也不能使用
    形参没有确定的值 实参在值传递给形参的时候,必须要有确定的数值
       

    3.形参与实参知识点

    3.1实参的值不随形参的变化而变化

    在C语言中,数据传送是单向的,即只能把实参的值值传递给形参,但形参的变化不会改变实参的值,我们可以简单理解,就相当于把实参的值 复制给了另一个数(形参),而另一个数的改变不会改变原来数(实参)的值,正规来说:他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。

    ** 3.2.实参传递给形参的参数个数类型和顺序都应相同,否则会系统强制转换,出现数据丢失或者“类型不匹配”的错误


    比如

    loat a=5.34;
    void number(int b);
     
    int main()
    {
        number(a);    //这样就会出现丢精度现象
    
    }

    3.3如果实参是数组名,那么形参传递的之就是地址的值

    int a[5];
    void add(int *b);
    int main()
    {
        add(a);//这样就是把数组a的首地址做为形参传递
    }

    在C里面 是无法做到形参改变 实参值同步改变的。如果要用函数改变实参的值,可以用指针作为参数来改变

    通过直接改变地址存储值来改变实参

    展开全文
  • 形参实参

    2021-04-18 17:06:52
    形参变量: 形参变量是功能函数里的变量,只有在被...形参实参的内容拷贝一份,在该函数运行结束的时候释放,实参内容不变。 举例一:(形参不能改变实参) 看看下面这段代码中实参形参的位置, 这个过程中实参
  • C语言形参实参详解

    千次阅读 多人点赞 2019-01-29 15:27:56
    形参实参 今天我们来说下c语言形参实参的区别,形参实参理解的话也很简单,但是好多同学关于这个知识点都是一知半解,没有真正的去透彻,在真正引用的时候还会出现很多问题,而百度的时候又会说看不懂,所以...
  • C++ 形参实参

    2018-12-17 21:34:04
    今天突然看到一道关于形参实参的题,我居然不求甚解。藐视过去在我的脑海里只有一个参数的概念,对于形参实参的区别还真的不知道,作为学习了几年C++的人来说,真的深深感觉对不起自己对不起C++老师 T。T 我...
  • C#形参实参

    2021-04-12 23:19:56
    C#中的形参实参 形参(形式参数) 在函数定义中出现的参数可以看做是一个占位符,它没有数据,只能等到函数被调用时接收传递进来的数据,所以称为形式参数,简称形参实参(实际参数) 函数被调用时给出的参数...
  • 形参实参的区别

    2021-06-03 09:48:21
    最近在做题的时候被问到了形参实参的区别,所以在这具体解释一下。 首先什么是形参?什么是实参形参(形式参数) 在函数定义中出现的参数可以看做是一个占位符,它没有数据,只能等到函数被调用时接收传递进来...
  • 函数形参实参

    2021-05-13 19:40:56
    C语言函数的参数会出现在两个地方,...形参实参的功能是传递数据,发生函数调用时,实参的值会传递给形参形参实参的区别和联系形参变量只有在函数被调用时才会分配内存,调用结束后,立刻释放内存,所以形参变量
  • 主要介绍了C++形参实参的区别实例解析,需要的朋友可以参考下
  • 函数的参数分为形参实参两种。在本小节中,进一步介绍形参实参的特点和两者的关系。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也...
  • C语言中函数形参实参的区别

    千次阅读 多人点赞 2019-06-12 10:47:13
    众所周知一个函数有两种参数,即形参实参。那么究竟什么是形参什么是实参呢? 形参:在定义函数时指定的参数,在未出现函数调用时,他们并不占用内存中的存储单元。只有在发生函数调用时,函数中的形参才被分配...
  • JavaScript形参实参

    千次阅读 2016-04-12 20:00:31
    JavaScript形参实参
  • C语言函数-形参实参

    千次阅读 多人点赞 2019-04-29 09:34:34
    1.形参实参的概念 形参(也叫形式参数) 在定义函数名和函数体的时候使用的参数,他没有数据,可以看做一个占位符,只能等到函数被调用时接收传递进来的数据,所以称为形式参数; 实参(也叫实际参数) 在调用时传递给...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 131,221
精华内容 52,488
关键字:

形参影响实参