引言
C语言是一门古老的语言,没有C++语言的诸如模版、应用、面向对象的高级特性。对于数据的交换,只能使用指针来实现。在C语言中,一般使用如下的方法来实现两个整数的交换: 1: void swap(int *ap, int *bp)
2: {
3: int tmp = *ap;
4: int *ap = *bp;
5: *bp = tmp;
6: }
然后,使用如下方法来实现数据交换:
1: int x = 10;
2: int y = 15;
3:
4: swap(&x,&y);
至此,便完成了数据的交换。现假如有多个不同的类型的数据需要实现交换,在C++语言中使用模版简洁的实现了需要的功能。在C语言中,我们没有模版,可能只能为每个不同类型的数据写一个swap函数。但是当我们了解数据在内存中的表示时,我们很容易想到不同类型的数据交换的本质是相同的。
数据交换的本质简单介绍
一个简单的例子:
1: #include
2: #include
3:
4: void swap(int *ap, int *bp)
5: {
6: int tmp = *ap;
7: *ap = *bp;
8: *bp = tmp;
9: }
10:
11: int main()
12: {
13: float fa &#