函数中参数的传递的几种方式与区别 您所在的位置:网站首页 标高传递有哪两种方法 函数中参数的传递的几种方式与区别

函数中参数的传递的几种方式与区别

2024-07-07 16:48| 来源: 网络整理| 查看: 265

关于C与C++中函数的变量传递方式的总结归纳 其大致可以分为传递参数,传递地址,传递数组,传递引用类型1 传递数值2. 传递地址即操作指针变量(C语言的指针操作)3.传递数组4. 传递引用类型是C++ 中的一种参数传入的方式全部代码

其大致可以分为传递参数,传递地址,传递数组,传递引用类型

首先我们根据传递的方式可以分为两大类,传入数值和传入地址两种; 在这里插入图片描述 在这里插入图片描述

1 传递数值

在函数的使用中,我们传递参数,一般常见的这种类型,其传入过程中,仅仅传入数值,对原实参无影响;

//传入形参 void swap(float m,float n) { float temp; temp=m; m=n; n=temp; } 2. 传递地址即操作指针变量(C语言的指针操作)

我们知道操作指针意味着对原存储单元地址进行操作,因此在传入指针变量的函数的处理中,会导致原来实参发生变化,例如下面的方式:

//传入地址,对地址上的内容进行交换 void swap1(int32_t *m,int32_t *n) { int32_t temp; temp=*m; //取出地址m的内容 *m=*n; //将另一个地址的内容传递给地址m的位置 *n=temp; //完成交换 } //传入地址,对地址进行交换 void swap2(int32_t *m,int32_t *n) { int32_t *temp; temp=m; m=n; n=temp; }

以上的两种方式均是传入指针操作地址。第一个对地址的内容进行交换第二个交换两个地址。

3.传递数组

在函数参数的传入中,我们还经常可以看到类似一传入数组的操作,其本质是传入了数组的首位地址,因此在内部对数组操作也会导致原来的实参发生改变;

//传入数组 void sub(char b[]) { b[1]='a'; } 4. 传递引用类型是C++ 中的一种参数传入的方式

传递引用类型:本质为指针的引用,也是c++对C语言的一个重要的扩冲,引用变量实际上就是操作原变量)在这里插入图片描述 操作实例:

//传入引用类型作为参数 void swap3(int32_t &m,int32_t &n) { int32_t temp; temp=m; m=n; n=temp; } 全部代码 #include #include //传入形参 void swap(float m,float n) { float temp; temp=m; m=n; n=temp; } //传入地址,对地址上的内容进行交换 void swap1(int32_t *m,int32_t *n) { int32_t temp; temp=*m; //取出地址m的内容 *m=*n; //将另一个地址的内容传递给地址m的位置 *n=temp; //完成交换 } //传入地址,对地址进行交换 void swap2(int32_t *m,int32_t *n) { int32_t *temp; temp=m; m=n; n=temp; } //传入数组 void sub(char b[]) { b[1]='a'; } //传入引用类型作为参数 void swap3(int32_t &m,int32_t &n) { int32_t temp; temp=m; m=n; n=temp; } int main(int argc, char const *argv[]) { char name[10]="hello"; std::cout a>>b; swap(a,b); //交换形参 实参不变 std::cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有