C++基础学习之利用swap函数验证*和&的用法

*形式的swap函数:

 1 #include<stdio.h>
 2 void swap(int *d1, int *d2) {
 3     int t;
 4     t = *d1;
 5     *d1 = *d2;
 6     *d2 = t;
 7     printf("After swap\na=%d\nb=%d\n", *d1, *d2);
 8 }
 9 int main() {
10     int d1 = 1, d2 = 2;
11     printf("Before swap\na=%d\nb=%d\n", d1,d2);
12     swap(&d1,&d2);
13     return 0;
14 }

运行结果:

 

 引用形式的swap函数

 1 #include<stdio.h>
 2 void swap(int &d1, int &d2) {
 3     int t;
 4     t = d1;
 5     d1 = d2;
 6     d2 = t;
 7     printf("After swap\na=%d\nb=%d\n", d1, d2);
 8 }
 9 int main() {
10     int d1 = 1, d2 = 2;
11     printf("Before swap\na=%d\nb=%d\n", d1,d2);
12     swap(d1,d2);
13     return 0;
14 }

运行结果:

 

 

*d1这种是取得地址,当交换二个数时,他们的值不会变。&d1是引用型,只有数据的使用权,而不能改变数据。

posted @ 2020-04-27 19:29  歌月。  阅读(244)  评论(0编辑  收藏  举报