如果函数内不修改作为形参的指针的指向的情况下,就修改指针所指向的内容,那么就会影响传递过来的指针;
void swap1(int *a, int *b){
int num = *a;
*a = *b;
*b = num;
}
void swap2(int *a, int *b){
int p = 10;
a = &p;
//修改了a的指向,所以接下来不会修改原本a指向地址的内容
//b的指向没修改,所以接下来指向的内容会被修改成10;
int num = *a;
*a = *b;
*b = num;
}
int main(){
int a = 2;int b = 4;
int *p = &a;int *q = &b;
swap1(p,q); //a = 4;b = 2;
//swap2(p,q); //a = 2;b = 10;
}