zoukankan      html  css  js  c++  java
  • 函数参数的传递方式

    C/C++函数参数传递方式有三种,值传递,地址传递,引用传递。

    值传递

    函数形参拷贝实参的值,在函数内部参与运算,返回后不改变原实参的值。
    形式如下:

    void swap(int a, int b)
    {
        int temp=a;
        a=b;
        b=temp;
    }
    int main(void)
    {
        int x=0,y=1;
        swap(x,y);
        ...
    }
    

    地址传递

    函数形参为指针类型,存放实参的地址,形参指向实参,在函数内部参与运算,两者的值同步改变。
    形式如下:

    void swap(int *a, int *b)
    {
        int temp=*a;
        *a=*b;
        *b=temp;
    }
    int main(void)
    {
        int x=0,y=1;
        swap(&x,&y);
        ...
    }
    

    注意: 如果想传出某种参数类型,需要传入此种类型的指针。
    eg.使用char str来表述字符串,并通过函数操纵字符串时,形参应为char **p,实参为&str,
    在函数内部创建临时变量char *temp = *p,遍历字符串为while(
    temp!=''){temp++; ...}。

    引用传递,

    注意: 引用传递在C中不可用,仅C++支持。
    引用传递相当于给变量起了个别名,在函数内部参与运算,形参与实参的值同步改变。
    形式如下,注意区分值传递,不同之处仅在函数定义时形参的形式:

    void swap(int &a, int &b)
    {
        int temp=a;
        a=b;
        b=temp;
    }
    int main(void)
    {
        int x=0,y=1;
        swap(x,y);
        ...
    }
    
  • 相关阅读:
    Python网络爬虫——bs4基本用法
    Python网络爬虫——requests模块(1)
    yii gii配置ip限制使用gii
    openfire连接数据库mysql
    js 提示条
    jquery滚动条平滑滑动
    yii2.0 添加组件baidu ueditor
    yii添加验证码 和重复密码
    css图标库 font-awesome.min.css
    yii配置访问路由权限配置
  • 原文地址:https://www.cnblogs.com/hunter-w/p/11332225.html
Copyright © 2011-2022 走看看