应用一:
交换两个变量的值
【如果不使用指针作为参数是无法交换的!】
//交换两个变量
#include<iostream>
using namespace std;
void swap(int *p, int *q){//传入两个指针
int t = *p;
*p = *q;
*q = t;
}
int main(){
int a = 5;
int b = 6;
swap(&a,&b);//调用 ,实参为a,b的地址
cout<<a<<" "<<b<<endl;//输出:6 5
return 0;
}
应用二
函数返回值只能返回一个,可以用指针作为参数,带回结果
#include<iostream>
using namespace std;
//函数返回多个值,某些值只能通过指针返回
//传入的参数实际上是需要保存带回的结果的变量
void minmax(int a[],int len, int *min, int *max);//int *min, int *max:把要接收的结果的变量的地址存进去
int main(){
int a[] = {1,2,3,4,5,6,7,8,9};
int min,max;
minmax(a,sizeof(a)/sizeof(a[0]),&min, &max);
cout<<"min = "<<min<<endl<<"max = "<<max;
return 0;
}
void minmax(int a[],int len, int *min, int *max){ //int *min, int *max:带回结果
*min &#