用一个最经典的swap函数进行举例:
1,指针变量作函数参数
#include <iostream>
using namespace std;
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 1, y = 2;
int *m = &x, *n = &y;
swap(m, n);
cout << "x=" << x << " y=" << y << endl;
}
2,引用类型作函数参数(最优雅的)
#include <iostream>
using namespace std;
void swap(int &a, int &b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int m = 1, n = 2;
swap(m, n);
cout << "m=" << m << " n=" << n << endl;
}
3,数组名作函数参数
#include <iostream>
using namespace std;
void swap(char a[], char b[]) {
char temp;
int i = 0;
while (*(a + i) != '\0') {
temp = *(b + i);
*(b + i) = *(a + i);
*(a + i) = temp;
i++;
}
}
int main() {
char m[6] = "hello", n[6] = "nihao";
swap(m, n); //或者是swap(&m[0],&n[0]);
cout << "m=" << m << endl;
cout << "n=" << n << endl;
}