指针所对应的地址与交换指针的值"/>
c++ 交换指针所对应的地址与交换指针的值
void swap1(int *pa, int *pb)
{int tem;tem = *pa;*pa = *pb;*pb = tem;
}
传指向int的指针,只能让子程序改变int的值
而需要改变的是指针的时候,那么只能用指向指针的指针(复杂),或引用,或返回指针值
void swap1(int *&pa,int*&pb){int *temp=pa;pa=pb;pb=temp;
}//运用引用,改变指针pa与pb的值同时也改变了a,b的值
void swap2(int **pa,int **pb){int *temp=*pa;*pa=*pb;*pb=temp;
}//运用指向指针的指针,改变了pa,pb 的值,但是没有改变a,b的值
注意:运用指向指针的指针时,只能改变pa,pb 的值,不能没有改变a,b的值
因为只改变了pa,pb所对应的地址(即pa=&b,pb=&a),没有改变&a,&b所对应的值(即a,b没有改变)
更多推荐
c++ 交换指针所对应的地址与交换指针的值
发布评论