概述
一、值传递
把实参(参数为整数、实数、字符型)的值传送给函数局部工作区相应的副本中,函数使用这个副本执行必要的功能。函数修改的是副本的值,实参的值不变
#include <iostream>
using namespace std;
void Swap(float m,float n) {
temp = m;
m = n;
n = temp;
}
int main() {
float a,b;
cin >> a >> b;
Swap(a,b);
cout << a << endl << b << endl;
return 0;
}
二、地址传递
1.指针变量做参数
#include <iostream>
using namespace std;
//只是对a、b的别名m、n地址做了交换,实参(a、b变量值)没有改变
void Swap1(int *m, int *n) {
int *t;
t = m;
m = n;
n = t;
}
//实参改变了
void Swap2(int *m, int *n) {
int *t = *m;
*m = *n;
*n = *t;
}
int main() {
int a, b, *P1, *P2;
cin >> a >> b;
P1 = &a;
P2 = &b;
Swap1(P1,P2);
cout << a << endl << b << endl;
Swap2(P1,P2);
cout << a << endl << b << endl;
return 0;
}
2.数组名做参数
#include <iostream>
using namespace std;
void Sub(char b[]) {
b[] = "world";
}
int main() {
char a[10] = "hello";
Sub(a);
cout << a << endl; //world
return 0;
}
3.引用类型做参数
#include <iostream>
using namespace std;
void Swap(&m, &n) {
float temp = m;
m = n;
n = temp;
}
int main() {
float a, b;
cin >> a >> b;
Swap(a ,b);
cout << a << endl << b << endl;
return 0;
}
最后
以上就是大意牛排为你收集整理的【C++】参数传递一、值传递二、地址传递的全部内容,希望文章能够帮你解决【C++】参数传递一、值传递二、地址传递所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复