- 其大致可以分为传递参数,传递地址,传递数组,传递引用类型
- 1 传递数值
- 2. 传递地址即操作指针变量(C语言的指针操作)
- 3.传递数组
- 4. 传递引用类型是C++ 中的一种参数传入的方式
- 全部代码
首先我们根据传递的方式可以分为两大类,传入数值和传入地址两种;
在函数的使用中,我们传递参数,一般常见的这种类型,其传入过程中,仅仅传入数值,对原实参无影响;
//传入形参
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"< 操作结果:



