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。

    总结的一句话:


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

  • 相关阅读:
    iOS_核心动画(二)
    iOS_核心动画CALayer(一)
    iOS_KVC与KVO
    iOS_Quartz 2D绘图
    iOS_触摸事件与手势识别
    iOS_多线程(二)
    iOS_多线程(一)
    iOS_UIAlertController
    CTF-Pwn-[BJDCTF 2nd]diff
    数据结构--队列(Java实现)
  • 原文地址:https://www.cnblogs.com/denglw/p/7664181.html
Copyright © 2011-2022 走看看