zoukankan      html  css  js  c++  java
  • C语言函数的引用传递、指针传递、值传递

    1、代码

    #include <stdio.h>
    
    struct Person{
        int a;
        double b;
    };
    
    /*引用传递*/
    void AliasFun(struct Person& person)
    {
        person.a = 100;
        person.b = 100.1;
    }
    /*指针传递*/
    void PointFun(struct Person* person)
    {
        person->a = 200;
        person->b = 200.1;
    }
    /*值传递*/
    void ValueFun(struct Person person)
    {
        person.a = 300;
        person.b = 300.1;
    }
    
    int main(int argc, char* argv[])
    {
        struct Person person;
        AliasFun(person);
        PointFun(&person);
        ValueFun(person);
        printf("%d %f
    ", person.a, person.b);//200 200.100000
        return 0;
    }

    2、值传递

    向函数传递的是临时变量,在函数内部修改值不会影响外部参数的取值

    3、引用传递

    入参为Type&,这里的&代表数据类型是一个引用,传入的是参数本身,内部通过点号去访问

    4、指针传递

    入参是Type*,指针类型,既然是指针则使用时传入地址,及&person,函数内部通过->访问




    长风破浪会有时,直挂云帆济沧海!
    可通过下方链接找到博主
    https://www.cnblogs.com/judes/p/10875138.html
  • 相关阅读:
    二维数组中的查找
    排序算法——冒泡、选择、插入
    排序算法——快速、归并
    最小的K个数
    重建二叉树
    反转链表
    LeetCode 278 第一个错误的版本
    LeetCode 929 独特的电子邮件地址
    LeetCode 38 报数
    模型参数初始化
  • 原文地址:https://www.cnblogs.com/judes/p/15017986.html
Copyright © 2011-2022 走看看