zoukankan      html  css  js  c++  java
  • 什么是值传递和引用传递

     

    值传递

    值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数

    #include<stdio.h>
    void fun(int num)
    {
    num=0; //修改参数
    }
    int main()
    {
    int a=1;
    fun(a); //调用fun函数
    printf("%d",a);//输出变量,变量的值没改变
    return 0;
    }

    如图:


    引用传递

    引用传递是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。

    #include<stdio.h>
    void fun(int* num)
    {
    
    *num= 0; //修改参数
    }
    int main()
    {
          int* a ;
          *a = 1; 
        fun(a); //调用fun函数
        printf("%d",*a);//输出变量,变量的值已改变
        return 0;
    }

     如图:

    其实时将地址的值复制给num。

    总结的一句话:


    如果参数是基本类型,传递的是基本类型的字面量值的拷贝。
    如果参数是引用类型,传递的是该参量所引用的对象在堆中地址值的拷贝。

  • 相关阅读:
    toj4119HDFS
    hdu2952Counting Sheep
    hdu2393Higher Math
    hdu2317Nasty Hacks
    hdu2309ICPC Score Totalizer Software
    hdu2304Electrical Outlets
    hdu2399GPA
    一、 软件测试概述
    JQuery选择器大全
    如何避免jQuery库和其他库的冲突
  • 原文地址:https://www.cnblogs.com/denglw/p/7664181.html
Copyright © 2011-2022 走看看