是通过传递指针(地址),修改指针(地址)所指单元的值从而使两个两个地址中的值发生交换。在下面的程序中void swap(int *a,int *b){ int t;printf("(2) a=%d b=%d\n",a,b);t=*a;*a=*b;*b=t;printf("(3) a=%d b=%d\n",a,b);}由于a和b表示的是指针(地址),它们本身的值是不会改变的,但是他们所指向单元的值发生了交换