C++学习6 - 按值传递,按…

xiaoxiao2021-02-28  85

1.按值传递:

#include<iostream> using namespace std; void swap(int a, int b){  int c;  cout << "swap交换前,a:" << a << "b:" << b << endl;  c = a;  a = b;  b = c;  cout << "swap交换hou,a:" << a << "b:" << b << endl; } int main(){  int x = 3, y = 4;  cout << "main交换前,a:" << x << "b:" << y << endl;  swap(x, y);  cout << "main交换hou,a:" << x << "b:" << y << endl;  return 0; }

 

2.按址传递:

#include<iostream> using namespace std; void swap(int *a, int *b){  int c;  cout << "swap交换前,a:" << *a << "b:" << *b << endl;  c = *a;  *a = *b;  *b = c;  cout << "swap交换hou,a:" << *a << "b:" << *b << endl; } int main(){  int x = 3, y = 4;  cout << "main交换前,a:" << x << "b:" << y << endl;  swap(&x, &y);  cout << "main交换hou,a:" << x << "b:" << y << endl;  return 0; }

 

3.按别名传递:

#include<iostream> using namespace std; void swap(int &a, int &b){  int c;  cout << "swap交换前,a:" << a << "b:" << b << endl;  c = a;  a = b;  b = c;  cout << "swap交换hou,a:" << a << "b:" << b << endl; } int main(){  int x = 3, y = 4;  cout << "main交换前,a:" << x << "b:" << y << endl;  swap(x, y);  cout << "main交换hou,a:" << x << "b:" << y << endl;  return 0; }

 

 4.综合运用:

#include<iostream> using namespace std; void fun(int a, int *b, int &c); int main(){  int a = 1, b = 2, c = 3;  cout << "main调用fun前\n";  cout << "a:" << a << endl << "b:" << b << endl << "c:" << c << endl;  fun(a, &b, c);  cout << "main调用fun后\n";  cout << "a:" << a << endl << "b:" << b << endl << "c:" << c << endl;  return 0; } void fun(int a, int *b, int &c){  cout << "fun函数中,计算前..\n";  cout << "a:" << a << endl << "b:" << *b << endl << "c:" << c << endl;  a += 1;  *b = (*b)*(*b);  c = (c)*(c)*(c);  cout << "fun函数中,计算后..\n";  cout << "a:" << a << endl << "b:" << *b << endl << "c:" << c << endl; }

更多详情请点击  http://blog.sina.com.cn/zhaojianjunzjj

转载请注明原文地址: https://www.6miu.com/read-74755.html

最新回复(0)