栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

关于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 << "Please enter 变量";


	std::int32_t a,b;
	std::cin >> a>>b;
    swap(a,b);       //交换形参 实参不变
	
	std::cout << "Hello,look a and b swap: " << a<<"and"< 

操作结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1022297.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号