指针与函数:
值传递与地址传递。
#include<iostream>
using namespace std;
//值传递
void hs(int a, int b)
{
int ling = a;
a = b;
b = ling;
cout << "函数中的a的值" << a << endl;
cout << "函数中的b的值" << b << endl;
}
//地址传递函数
void hs2(int* zz1, int* zz2)
{
int ling = *zz1;
*zz1 = *zz2;
*zz2 = ling;
cout << "函数内的c的值" << *zz1 << endl;
cout << "函数内的d的值" << *zz2 << endl;
}
int main()
{
//指针与函数
//1,值传递
int a = 10;
int b = 20;
hs(a, b);
cout << "函数外的a的值" << a << endl;
cout << "函数外的b的值" << b << endl;
//2.地址传递
hs2(&a, &b);
cout << "函数外的a的值" << a << endl;
cout << "函数外的d的值" << b << endl;
system("pause");
return 0;
}
结合函数的实参与形参的知识,函数中交换两数的值时,函数外两数的值不变,而当我们在函数中对两数进行地址交换后,函数外两数的值会发生改变,因为*zz1指向的时内存中的数的值,便可以修改数的值。