int main(void) {
void swap(int *mp1, int *mp2);
int a=4, b=5;
int *pt1, *pt2;
pt1 = &a;
pt2 = &b;
printf("ptr address. %p %p\n",&pt1, &pt2); //指针本身的地址,0x7ffe36d8e688 0x7ffe36d8e680
printf("Before run. %d %d\n",*pt1, *pt2); //指针指向的内容 4,5
printf("Before run1. %p %p\n", pt1, pt2); //指针指向内容的位置, 0x7ffe36d8e698 0x7ffe36d8e694
swap(pt1, pt2); //进行交换操作
return 0;
}
void swap(int *p1, int *p2){
printf("Before swap-pr %p %p\n",p1, p2); //传进函数后的,指针代表的还是内容在内存的位置 0x7ffe36d8e698 0x7ffe36d8e694
printf("Before swap. %d %d\n",*p1, *p2); //这部分还是代表指针指向的内容 4,5
int *tmp;
tmp = p1;
p1=p2;
p2=tmp;
printf("After swap. %d %d\n",*p1, *p2); //这部分还是代表指针指向的内容 5,4
printf("After swap-pr. %p %p\n", p1, p2); //传进函数后的,同时交换了指针指向的内容的内存位置 0x7ffe36d8e694 0x7ffe36d8e698
}