C语言用函数改变指针指向
#include <stdio.h>
void SwapPointer(int **,int **);
void Swap(int *a,int *b);
void SwapP(int *a,int *b);
int main(int argc, char *argv[]) {
int a=1,b=2;
int *a1=&a,*b1=&b;
printf("原值 a:%d b:%d\n",a,b);
printf("原值 a1:%d b1:%d\n",a1,b1);
printf("Swap:\n");
Swap(a1, b1);
printf(" a:%d b:%d\n",a,b);
printf(" a1:%d b1:%d\n",a1,b1);
SwapP(a1, b1);
printf("SwapP:\n");
printf(" a:%d b:%d\n",a,b);
printf(" a1:%d b1:%d\n",a1,b1);
SwapPointer(&a1,&b1);
printf("SwapPointer:\n");
printf(" a:%d b:%d\n",a,b);
printf(" *a1:%d *b1:%d\n",*a1,*b1);
printf(" a1:%d b1:%d\n",a1,b1);
}
void SwapPointer(int **a,int **b){
int *temp;
temp = *a;
*a =*b;
*b = temp;
}
void Swap(int *a,int *b){
int temp;
temp = *a;
*a = *b;
*b = temp;
}
void SwapP(int *a,int *b){
int *temp;
temp = a;
a = b;
b = a;
}