指针变量作为函数的参数
例如:输入a,b两个整数,输出a,b是按照大到小的顺序输出
int main(void)
{
int a,b;
int *p,*p2;
scanf("%d%d",&a,&b);//输入:3 6
//初始化指针变量
p1 = &a;
p2 = &b;
if (a < b)
{
swap(p1,p2);//调用swap函数:交换p1与p2所指向的a,b普通变量的值
}
printf("MAX=%d,MIN=%d\n",a,b);
return 0;
}
void swap(int *point1, int *point2)//形参和实参,个数相同类型一致且一一对应
{
int temp;//定义临时变量,用于交换a和b的值
//交换a与b的值
temp= *point1;//指针引用,*point1就是a
*point1 = *point2;
*point2 =temp;
return ;
}//输出6,3
内存示意图
输入3 6↓
&a | 指向 | 36 | ←交换 | |
---|---|---|---|---|
⬆ 地址接通 | point1 | |||
&a | 指向 | |||
p1 | a |
&b | 指向 | 63 | ←交换 | |
---|---|---|---|---|
⬆ 地址接通 | p2 | |||
&a | 指向 | |||
point2 | b |